본문 바로가기

웹 프로그래밍/스프링

빈 생명주기(라이프사이클) 콜백

의존관계 주입이 끝나야 초기화를 할수 있을텐데 그 시점을 어떻게 알수 있을까?

-스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해서 초기화 시점을 알려줌(종료도 마찬가지)

 

스프링 빈의 이벤트 라이프사이클(싱글톤)

-스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료

 

스프링의 콜백 방법

-인터페이스 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