加载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);
}
}
|