개발자 공부 - 인프런 온라인 강의/스프링 핵심 원리 - 기본편
[섹션 8. 빈 생명주기 콜백] 애노테이션 @PostConstruct, @PreDestroy / 인프런 김영한 스프링 핵심 원리 기본편
easpop
2023. 9. 13. 21:02
728x90
반응형
이번 시간에는 어노테이션으로 빈 생명주기 콜백을 지정해주는 방법에 대해서 알아보았다.
먼저 결론부터 말하자면, 강의 제목과 같이 @PostConstruct, @PreDestory를 쓰면 된다.
어노테이션 이름만 봐도 감이 오는데ㅋㅋㅋ PostConstruct는 생성된 이후에, PreDestory는 소멸되기 전 이다ㅋㅋㅋ
위의 그림과 같이 어노테이션을 추가해주면 끝!
반응형
테스트를 돌려보면 정상적으로 작동하는 것을 볼 수 있다.
init 잘 호출되고, close도 정상적으로 호출되었다.
@PostConstruct와 @PreDestory 어노테이션의 특징을 살펴보면,
최신 스프링에서 가장 권장하는 방법이고, 어노테이션 하나만 붙이면 되기 때문에 매우 편리하다.
패키지명을 보면 javax.xxx 이다. 그렇기 때문에 스프링에 종속적인 기술이 아니라, 자바 표준이기 때문에 스프링이 아닌 다른 컨테이너에서도 동작한다.
그리고 컴포넌트 스캔과 잘 어울린다.
하지만 유일한 단점은 외부라이브러리에는 적용하지 못한다는 것인데, 왜냐하면 코드를 수정할 수 없기 때문이다.
외부 라이브러리를 초기화, 종료해야 하면 @Bean의 기능을 사용하자.
결론을 정리를 하자면,
@PostConstruct, @PreDestory 를 쓰자!ㅋㅋㅋㅋ
코드를 고칠 수 없는 외부 라이브러리를 초기화, 종료해야 하면 @Bean의 initMethod와 destoryMethod 를 사용하면 된다.
728x90
반응형