Spring

빈 객체의 생명주기, BeanPostProcessor

Vouloir 2021. 7. 16. 18:00

인터넷 강의를 듣고 공부한 내용을 포스팅합니다.

'윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정' 이란 강의를 듣고 있습니다.

 

빈 객체의 생명주기

저번 포스팅을 먼저 언급을 하고 넘어가자면

  • 싱글톤일 경우 xml파일이 로딩 될 때 객체가 생성된다.
  • 싱글톤이고 lazy-init이 true일 경우 getBean메서드 사용 할 때 객체가 사용된다.
  • scope가 prototype일 경우 객체를 getBean메서드로 부를 때 마다 객체 생성, getBean메서드를 사용할 때 객체가 생성된다.

이러한 특징들을 살펴봤다. 또 IOC를 종료시키면 객체 또한 소멸된다.

 

Bean태그의 다른 속성들을 알아보자

inti-method : 생성자 호출 후 호출

destroy-method : 객체 소멸 후 호출

default-init-method/destroy : init-method/destroy를 설정하지 않은 경우 자동으로 호출

 

속성의 이름들이 직관적으로 본인들이 어떤 것을 할지 알려준다.

 

BeanPostProcessor

BeanPostProcessor를 클래스로 구현하고 xml에 정의하면 Bean객체를 생성 할 때 init-method가 호출되기 전에 가로채 다른 메서드를 호출 할 수 있다.

 

postProcessBeforeInitialization : init-method 에 지정된 메서드가 호출되기 전에 호출된다.

postProcessAfterInitialization : init-method에 지정된 메서드가 호출된 후에 호출된다.