본문 바로가기
728x90

Spring9

스프링 핵심 원리 기본편 - 챕터 9. 빈 스코프 빈 스코프란? 스코프: 빈이 존재할 수 있는 범위 다양한 스코프가 있음 싱글톤: 기본 스코프. 시작부터 종료까지 유지되는 가장 넓은 범위. 프로토타입: 빈의 생성과 의존관계 주입까지만 관여하고 그 이후는 관리하지 않는 스코프. 웹 관련 스코프 request: 웹 요청이 들어오고 나갈때 까지 유지 session: 세션이 생성되고 종료될 때까지 유지 application: 웹의 서블릿 컨텍스트와 같은 범위 프로토타입 스코프 싱글톤 스코프 빈 -> 항상 같은 인스턴스의 스프링 빈을 반환함. 프로토타입 스코프 빈 -> 요청 시점에 빈을 생성하고 의존 관계 주입함 -> 스프링 컨테이너는 빈을 반환했다가 같은 요청이 왔을 때 새로운 빈을 다시 생성해서 반환 함. => 생성된 프로토타입 빈을 관리하지 않음 => 관리.. 2023. 4. 2.
스프링 핵심 원리 기본편 - 챕터 8. 빈 생명주기 콜백 빈 생명주기 콜백 객체 생성 -> 의존관계 주입 스프링은 의존관계 주입 완료 후, 스프링 컨테이너 종료 전 스프링 빈에게 콜백 메서드를 통해 초기화 시점을 알려줌. 이벤트 라이프사이클 스프링 컨테이너 생성 스프링 빈 생성 의존 관계 주입 초기화 콜백 사용: 빈 생성, 의존 관계 주입 완료 후 호출 소멸전 콜백: 빈 소멸 직전 호출 스프링 종료 객체 생성과 초기화를 분리하자. 생성자 - 필수 파라미터 정보 받아 메모리 할당. 객체 생성. 초기화 - 생성된 값을 활용 후 외부 커넥션을 연결함. 무거운 초기화 작업은 분리 시켜서 빼는 것 유지보수 관점에서 좋음. 너무 간단한 경우 생성자에서 사용 할 수 있겠지만 객체 생성시에 초기화 하는 것이 아니라 사용 시에 초기화 하는 느낌으로 사용. 인터페이스 Initi.. 2023. 3. 26.
스프링 핵심 원리 기본편 - 챕터 7. 의존관계 자동 주입 Chapter 7. 의존 관계 자동 주입 다양한 의존관계 주입 방법 생성자 주입 생성자에 @Autowired가 붙어 생성자를 통해서 의존 관계를 주입하는 방법 생성자 호출 시점에 딱 1번만 호출되는 것이 보장된다. > 호출되는 시점에 한번 만 값을 세팅 할 수 있다. 불변, 필수, 의존 관계에서 사용한다. 생성자가 딱 1개 존재하면 생성자 주입이 자동으로 일어나서 의존 관계가 주입된다. 주입받아 사용 할 관계에 있는 객체를 final로 선언해서 외부에서 변경하지 못하도록 하는 것도 포인트. - 의도를 알아 보기 쉽고, 벗어나지 않도록 하는 설계가 가장 좋은 설계다! @Component public class OrderServiceImpl implements OrderService { private fin.. 2023. 3. 26.
스프링 핵심 원리 기본편 - 챕터 6. 컴포넌트 스캔 Chapter 6. 컴포넌트 스캔 컴포넌트 스캔과 의존관계 자동 주입 시작하기 AppConfig와 같이 설정 정보를 통해 빈을 등록 할 수도 있었지만 등록해야 할 스프링 빈이 수십, 수백개가 되면 관리가 귀찮고 커지게 된다. 스프링에서 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공함. @ComponentScan - @Component가 붙은 클래스들을 찾아 스프링 빈으로 등록함. - AppConfig와 다르게 @Bean으로 클래스를 등록하지 않음. - @Configuration이 붙은 컴포넌트도 자동으로 빈으로 모두 들어가게 됨으로 Filter로 지금은 테스트 예제들 제거 한 상태 @Configuration // 기존 예제 코드를 살리기 위해서 Filter 사용해서 @.. 2023. 3. 19.
728x90