📌 빈 생성 관련 life cycle 콜백 메서드
✅서블릿의 life cycle 비슷
- init() : 서블릿이 생성될 때
- doGet/doPost : 서블릿 요청할 때
- destroy() : 서블릿이 삭제될 때
✅스프링 컨테이너에 저장되는 빈 객체는생성,초기화,소멸의 라이프 사이 클을 갖게 된다.
✅스프링은 빈 객체의 생성,초기화,소멸뿐만 아니라, 특정 상태에서 자동 으로 호출되는 콜백 메소드를 제공하고 있으며 이를 통해 라이프 사이클에 따른 빈 객체의 상태를 정교하게 제어 할 수 있다.
✅ 스프링의 IoC 컨테이너는 Bean 객체들을 책임지고 의존성을 관리한다.
객체들을 관리한다는 것은 객체의 생성부터 소멸까지의 생명주기(LifeCycle) 관리를 개발자가 아닌 컨테이너가 대신 해준다는 말이다.
✅ 객체 관리의 주체가 프레임워크(Container)가 되기 때문에 개발자는 로직에 집중할 수 있는 장점이 있다.
빈 생성시 관련되는 콜백 메서드
1️⃣ < bean id=" " class=" " init-method="메서드명(aaa)" destroy-method="메서드(bbb)" />
⇒ 빈이 생성된후 (생성자 호출 후) aaa() 호출된다.
빈이 삭제될 때 bbb() 호출된다.
⇒ aaa() 메서드에서는 초기화 작업이 가능하고
bbb() 메서드에서는 자원 반납같은 close 작업이 가능하다.
2️⃣ implements InitializingBean, DisposableBean { } 인터페이스 이용
⇒ 빈 implements InitializingBean, DisposableBean
⇒ destroy() 자원 반납같은 close 작업이 가능하다.
3️⃣ 어노테이션 이용: @Postconstruct, @PreDestroy ⇒ jdk 11부터 지원 안됨
⇒ @Postconstruct
public void aaa() {
//초기화 작업
}
@PreDestroy
public void aaa() {
//자원 반납같은 close 작업
}
⇒ 반드시 어노테이션을 활성화해야 된다.
⇒ context namespace 이용
<context:annotation-config /> ★★★
'Framework > SPRING FRAMEWORK' 카테고리의 다른 글
profile (0) | 2023.08.29 |
---|---|
현재 실행중인 운영체제의 환경변수 값 살펴보기 (0) | 2023.08.29 |
스프링에서 컬렉션 의존성 주입의 util namespace 방법 (0) | 2023.08.29 |
03. DI_setter (0) | 2023.08.29 |
03. DI_constructor_c namespace와 p namespace (0) | 2023.08.28 |