빈 생명주기 콜백

KJH·2023년 3월 12일
0
post-custom-banner

빈 생명주기 콜백이란?

db커넥션 풀이나, 네트워크 소캣처럼 연결을 미리 해두고, 어플리케이션 종료 시점에 연결을 모두 종료하라면 객체의 초기화와 종료 작업이 필요

  • 스프링은 의존관계 주입이 완료되면, 스프링 빈에게 콜백 메서드를 통해서 초기화 시점을 알려줌
  • 또한, 스프링 컨테이너가 종료되기 직전에 소멸 콜백을 줌

빈 생명주기 콜백 지원 3가지 방법

  • 인터페이스(InitializingBean, DisposableBean)
  • 설정 정보에 초기화 메서드, 종료 메서드 지정
  • @PostConstruct, @PreDestroy

인터페이스

초창기에 나온 방법으로, 거의 사용안함

InitializingBean, DisposableBean 상속받아서 진행

  • InitializingBeanafterPropertiesSet()으로 초기화 지원
  • DisposableBeandestroy() 로 소멸 지원

빈 등록 초기화, 소멸 메서드

얘도 잘 안씀 => 코드를 고칠 수 없는 경우에만 씀

설정 정보에 @Bean(initMethod = "init", destroyMethod = "close") 처럼 초기화, 소멸 메서드 지정할 수 있다.

특징

  • 메서드 이름 자유로움, 고칠수 없는 라이브러리에도 적용가능
  • 스프링 코드에 의존 X

어노테이션 👍👍

거의 얘만씀

시작, 종료시 호출할 메소드에 @PostConstruct,PreDestory 적어놓으면 끝남

  • 가장 권장함
  • 유일한 단점은 외부 라이브러리에 적용하지 못한다는 것임 이때는 위의 방법을 사용하자
post-custom-banner

0개의 댓글