Spring ApplicationContextAware Interface


ApplicationContextAware Interface



bean이 ApplicationContextAware Interface를 구현하면 bean생성 및 property의존성 주입 완료 후 init 메소드 실행전에 ApplicationContextAware.setApplicationContext()를 호출하여준다. 이를 통해 bean은 자신의 인스턴스를 생성관리하는 ApplicationContext가 어떤 인스턴스인지 확인하고 접근할 수 있다. 쉽게 말해 bean을 관리하는 ApplicationContext 인스턴스에 직접 접근이 필요한 경우 사용하는 Interface이다. 많이 사용되지는 않고 ApplicationContext세부 설정을 XML파일 로딩시점에 특정 bean에 위임하는 경우에 사용





용도

  • bean에서 ApplicationContext에 직접 접근 시 사용

 

사용방법

  • ApplicationContextAware Interface 구현하고 setApplicationContext(ApplicationContext appCtx) override하여 매개변수를 통해 접근

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.spring.bean;
 
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.support.GenericXmlApplicationContext;
 
public class SimpleClass implements ApplicationContextAware{
    
    @Override
    public void setApplicationContext(ApplicationContext appCtx) throws BeansException {
        
        try {
            if(appCtx instanceof GenericXmlApplicationContext) {
                System.out.println"appCtx is GenericXmlApplicationContext true" );
                
                // ApplicationContext 설정 수행
                ((GenericXmlApplicationContext)appCtx).registerShutdownHook();
                
            }
        } catch (BeansException e) {
            throw e;
        }
    }    
}
cs

 


 다운로드


SpringApplicationContextAwareAnnotation.zip


SpringApplicationContextAwareXml.zip


'프로그래밍 > Spring FWK' 카테고리의 다른 글

Spring CustomPropertyEditor  (2) 2016.01.05
Spring PropertyEditor  (0) 2016.01.05
Spring facoty-bean, factory-method  (0) 2015.12.30
Spring FactoryBean Interface  (0) 2015.12.29
Spring BeanNameAware Interface  (1) 2015.12.28
Spring Bean Life Cycle (빈 생명주기 관리)  (0) 2015.12.28
Spring bean 상속  (0) 2015.12.27
Spring Bean Scope 정리  (0) 2015.12.27

이 글을 공유하기

댓글

Email by JB FACTORY