Aware

如果需要获取到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的接口