ApplicationContextAware

加载Spring配置文件时,如果Spring配置文件中所定义的Bean类,如果该类实现了ApplicationContextAware 接口,那么在加载Spring配置文件时,会自动调用ApplicationContextAware 接口中的

public void setApplicationContext(ApplicationContext context) throws BeansException

方法,并且自动可获得ApplicationContext 对象。前提必须在Spring配置文件中指定改类。

一个Demo程序如下:

Spring配置文件中配置:

?
1
< bean id = "springContext" class = "com.shine.spring.SpringContextHelper" ></ bean >
?
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
26
27
/**
  * ApplicationContext的帮助类
  * 自动装载ApplicationContext
  *
  * @author ChenST
  * @create 2010-6-24
  *
  */
public class SpringContextHelper implements ApplicationContextAware {
      
     private static ApplicationContext context ;
      
     /*
      * 注入ApplicationContext
      */
     @Override
     public void setApplicationContext(ApplicationContext context)
             throws BeansException {
         //在加载Spring时自动获得context
         SpringContextHelper.context = context;
         System.out.println(SpringContextHelper.context);
     }
      
     public static Object getBean(String beanName){
         return context.getBean(beanName);
     }
}

猜你喜欢

转载自baggioback.iteye.com/blog/1662776