빈 생명주기 콜백

Sin·2024년 6월 29일

PostConstruct, @PreDestroy 애노테이션 특징

  • 최신 스프링에서 가장 권장하는 방법이다.

  • 애노테이션 하나만 붙이면 되므로 매우 편리하다.

  • 패키지를 잘 보면 javax.annotation.PostConstruct 이다. 스프링에 종속적인 기술이 아니라 JSR-250 라는 자바 표준이다. 따라서 스프링이 아닌 다른 컨테이너에서도 동작한다.

  • 유일한 단점은 외부 라이브러리에는 적용하지 못한다는 것이다. 외부 라이브러리를 초기화, 종료 해야 하면 @Bean의 기능을 사용하자.

  • 코드를 고칠 수 없는 외부 라이브러리를 초기화, 종료해야 하면 @Bean 의 initMethod , destroyMethod 를
    사용하자

  • 외부 라이브러리 사용할때는 @Bean 의 destoryMethod 의 (inferred) 추론 기능이 대부분의 라이브러리 종료 메소드인 close, shutdown 을 호출 해 주기 때문에 비부분 잘 활용하도록 하자.

출처 김영한의 스프링 로드맵 - 스프링 핵심원리 기본편

0개의 댓글