스프링 빈 생명 주기 - InitializingBean, DisposableBean 인터페이스, @PostConstruct, @PreDestroy 어노테이션
CODEDRAGON ㆍDevelopment/Spring
반응형
스프링 빈 생명 주기
스프링 빈 생명 주기에는 두 가지가 있습니다.
· InitializingBean, DisposableBean 인터페이스
· @PostConstruct, @PreDestroy 어노테이션
InitializingBean, DisposableBean 인터페이스
메소드 | 설명 |
@Override public void afterPropertiesSet() throws Exception { } |
· InitializingBean 구현한 Bean에서 재정의한 메소드 · Bean 초기화 과정에서 호출되는 메소드 · load()한 후 refresh()메소드가 호출될 때 bean객체가 생성되어지며 초기화 될때 afterPropertiesSet()메소드가 실행이 됩니다. |
@Override public void destroy() throws Exception { } |
· DisposableBean 구현한 Bean에서 재정의한 메소드 · Bean 소멸 과정에서 호출되는 메소드 |
destroy() vs close()
메소드 | 차이 |
beanObj.destroy() | · Bean만 소멸하게 할 경우 사용하는 메소드 |
ctx.close() | · 컨테이너가 소멸되게 됩니다. · 컨테이너가 소멸 하면, Bean은 자동 소멸 됩니다. |
@PostConstruct, @PreDestroy 어노테이션
빈이 생성되고 종료될때 실행할 함수에 어노테이션 처리하여 생성 및 소멸과정에서 호출되어 지도록 할 수 있습니다.
어노테이션 | 설명 |
@PostConstruct public void initMethod() { System.out.println("initMethod()"); } |
· 빈 초기화 과정에서 호출되는 메소드 · load()한 후 refresh()메소드가 호출될 때 bean객체가 생성되어지며 초기화 될때@PostConstruct 설정된 메소드가 실행이 됩니다. |
@PreDestroy public void destroyMethod() { System.out.println("destroyMethod()"); } |
· 빈 소멸 과정에서 호출되는 메소드 |
'Development > Spring' 카테고리의 다른 글
DL(Dependency Lookup)과 DI(Dependency Injection) (0) | 2017.11.19 |
---|---|
MyBatis-Spring 라이브러리 검색 및 설치 (0) | 2017.11.15 |
Spring Framework 주요 특징 (0) | 2017.10.31 |
MyBatis 라이브러리 검색 및 설치 - 3.4.2 (0) | 2017.10.26 |
Spring DI 컨테이너 (0) | 2017.10.19 |