스프링 빈 생명주기를 사용하고 알아보기 위해서는 클래스에서 다음과 같은 설정을 해야한다.
implements InitializingBean, DisposableBean
InitializingBean 인터페이스를 참조할 경우 afterPropertiesSet() 메소드를 구현함으로써 빈 초기화 과정에서 사용 직전 처리에 대한 작업을 수행할 수 있다.
DisposableBean 인터페이스를 참조할 경우 destroy() 메소드를 구현함으로써 빈 소멸 과정에서 소멸 전 처리에 대한 작업을 수행할 수 있다.
두 인터페이스는 각각 사용 가능하며, 필요한 인터페이스만을 참조하여 사용하면 된다.
스프링 컨테이너 설정 중 ctx.refresh(); 를 수행하게 되면 '빈 초기화 과정에서afterPropertiesSet() 함수가 호출된다.
이후 스프링 컨테이너를 종료하기 위하여 ctx.close(); 를 수행하게 되면 destroy() 함수가 호출된다.
- Object object;
- String resource = "classpath:appContext.xml";
- GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
- // 스프링 컨테이너 생성
- ctx.load(resource); // 스프링 컨테이너 설정
- ctx.refresh(); // 스프링 컨테이너 설정
- object = ctx.getBean("beanID", Object.class); // 스프링 컨테이너 사용
- /* do something */
- ctx.close(); // 스프링 컨테이너 종료
- @Override
- public void afterPropertiesSet() throws Exception {
- /* 빈 초기화 과정에서 호출 */
- }
- @Override
- public void destroy() throws Exception {
- /* 빈 소멸 과정에서 호출 */
- }
댓글 없음:
댓글 쓰기