의존관계 주입이 끝나야 초기화를 할수 있을텐데 그 시점을 어떻게 알수 있을까?
-스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해서 초기화 시점을 알려줌(종료도 마찬가지)
스프링 빈의 이벤트 라이프사이클(싱글톤)
-스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료
스프링의 콜백 방법
-인터페이스 IntializionBean, DisposableBean (거의 사용하지 않음)
-단점: 스프링 전용 인터페이스에 의존, 코드 수정이 불가한 외부 라이브러리에 적용불가
-빈 등록할때 초기화,소멸 메서드 지정( @Bean(initMethod = "init", destroyMethod = "close")
-장점: 설정정보에서 지정하기 때문에 코드를 수정할수 없는 외부라이브러리에서도 초기화, 소멸 적용 가능
-애노테이션 @PostConstruct, @PreDestory
-편리하고 자바 라이브러리임, 단 외부 라이브러리에는 적용불가
'웹 프로그래밍 > 스프링' 카테고리의 다른 글
웹 애플리케이션 이해 (0) | 2023.04.05 |
---|---|
빈 스코프 (0) | 2023.02.20 |
스프링 빈 가져올때 팁 (0) | 2023.02.18 |
의존관계 자동 주입 (0) | 2023.02.17 |
컴포넌트 스캔 (0) | 2023.02.16 |