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에 지정된 메서드가 호출된 후에 호출된다.