加载Spring配置文件时,如果Spring配置文件中所定义的Bean类,如果该类实现了ApplicationContextAware接口,那么在加载Spring配置文件时,会自动调用ApplicationContextAware接口中的
public void setApplicationContext(ApplicationContext context) throws BeansException
方法,并且自动可获得ApplicationContext 对象。前提必须在Spring配置文件中指定改类。
一个Demo程序如下:
Spring配置文件中配置:
<
bean
id
=
"springContext"
class
=
"com.shine.spring.SpringContextHelper"
></
bean
>
/**
* 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);
}
}
转载于:https://blog.51cto.com/zorro/832454