如果需要获取到Spring
中容器或者其他Spring
中资源的时候,我们就需要实现Aware
一系列的接口,这样才能获取到。
Spring中常用的Aware
接口:
BeanNameAware 获得到容器中Bean的名称
BeanFactoryAware 获得当前bean Factory,从而调用容器的服务
ApplicationContextAware 当前的application context从而调用容器的服务
MessageSourceAware 得到message source从而得到文本信息
ApplicationEventPublisherAware 应用时间发布器,用于发布事件
ResourceLoaderAware 获取资源加载器,可以获得外部资源文件
比如需要拿到context
上下文:
public class MyAware implements ApplicationContextAware{
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
// TODO Auto-generated method stub
IsaySpell s=applicationContext.getBean("bean1",IsaySpell.class);
s.say();
}
}
就需要实现ApplicationContextAware
的接口