본문 바로가기

Back-End93

[Spring] AOP 프로그래밍 AOP(Aspect Oriented Programming) 기존의 oop(객체 지향 프로그래밍) 언어 에서는 공통 관심 사항에 해당하는 공통 코드를 완벽하게 독립적인 모듈로써 분리해내는게 어려운데, 이러한 단점을 보완한 개념 => 핵심 사항과 공통 관심 사항을 분리하여 구현 문제를 바라보는 관점을 기준으로 프로그래밍을 하는 기법을 말한다. AOP는 문제를 해결하기 위한 핵심사항과 코드 전체에 적용되는 공통 관심 사항을 기준으로 프로그래밍 함으로써 공통 모듈을 어려 코드에 쉽게 적용할 수 있도록 도와준다. AOP의 핵심 개념 : 관심 분리 (Separation of Concerns) 공통 관심 사항(Cross-cutting Concerns) - 메소드마다 공통으로 등장하는 로깅, 예외, 트랙잭션 처리 등의.. 2021. 12. 21.
[Spring] 커넥션 풀(Connection Pool) * 커넥션 풀(Connection Pool) -JSP에서 커넥션풀을 이용하여 작업을 진행해 보았음 하지만 스프링에서는 커넥션풀을 직접적으로 제공해주고 있지 않음 대신 c3p0과 같은 커넥션풀 라이브러리를 이용해서 커넥션 풀을 지원하는 DataSource를 설정할 수 있음 * 스프링에서 커넥션풀 설정하는 방법 -pom.xml 파일에 c3p0 라이브러리를 추가해준다. -기존에 dataSource에 ComboPooledDataSource 객체를 설정을 한다. -ComboPooledDataSource 클래스의 주요 프로퍼티(속성) *initialPoolSize : 초기의 커넥션 풀의 크기 = 기본값은 3. *maxPoolSize : 초기의 커넥션 풀의 최대 크기 = 기본값은 15. *minPoolSize : 초.. 2021. 12. 16.
[Spring] MVC 패턴 1.model 형식 2.ModelAndView 형식 ModelAndView 형식 ModelAndView 객체란? - ModelAndView 객체는 컨트롤러에 의해서 비즈니스 로직이 수행되고 나면 대체적으로 사용자에게 반환되어 브라우저에 보여질 정보들이 만들어진다. 이때 만들어진 정보를 view page로 넘겨주게 되는데 응답을 할 view page 정보와 전달할 데이터를 한꺼번에 저장하여 넘겨줄 때 사용함 Mycontroller.java package com.sist.mvc01; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.spr.. 2021. 12. 14.
[Spring] Java 코드를 이용하여 의존관계를 설정하는 방법_애노테이션 방식 DI 설정 시 java 코드에서 애노테이션을 설정하여 주입하는 방법 - 설정 시에 cglib 라이브러리가 반드시 필요함 ==> pom.xml 파일에 라이브러리를 추가해주어야 함 @Configuration, @Bean 애노테이션 사용함 @Configuration 클래스 앞에 선언하는 애노테이션 스프링 설정 클래스를 선언하는 애노테이션 "해당 클래스는 스프링 설정에 사용되는 클래스 입니다."라고 알려주는 애노테이션 @Bean 메서드 앞에 사용되는 애노테이션 bean을 정의하는 애노테이션 "해당 메서드는 객체를 생성하는데 사용"된다는 의미 애노테이션의 역할 컴파일러에게 정보를 알려주는 역할 컴파일 할 때와 설치 시의 작업을 지정하는 역할 실행할 때에 별도의 처리가 필요한 경우 사용되는 역할 먼저, cglib를.. 2021. 12. 13.
[Spring] map구조 MapTest.java package com.sist.di08; import java.util.Map; import java.util.Set; import lombok.Data; @Data public class MapTest { // Map 자료형 선언, 멤버변수 private Map map; // 비즈니스 로직 public void prn() { // keySet() : Map에 있는 키를 전부 가져오는 메소드 Set set = map.keySet(); for(Integer k : set) { System.out.println(map.get(k)); } } } map.xml 1 짜장면 2 짬뽕 3 탕수육 4 볶음밥 5 울면 Main.java package com.sist.di08; import org.. 2021. 12. 13.
[Spring] 네임스페이스 방식 Spring bean인 baseball2.xml파일의 Namespaces 탭 선택 c태그와 p태그 선택 (c는 constructor-arg 태그의 약자, p는 property 태그의 약자) baseball2.xml 네임스페이스를 사용하면 위 태그를 위 태그로 간결하게 사용할 수 있다. 2021. 12. 13.