在spring中获取applicationContext.

以前想要获取applicationContext, 在网上搜索后也很麻烦,不好用.
今天在看spring文档时, 发现文档上写了一种很简单的获取方法(Spring Framework Version: 4.3.21.RELEASE):

您还可以将 @Autowired 用于众所周知的可解析依赖项的接口: BeanFactory , ApplicationContext , Environment , ResourceLoader , ApplicationEventPublisher 和 MessageSource 。这些接口及其扩展接口(如 ConfigurableApplicationContext 或 ResourcePatternResolver )将自动解析,无需特殊设置。

public class MovieRecommender {

    @Autowired
    private ApplicationContext context;

    public MovieRecommender() {
    }

    // ...
}

下面还有一行小注释:

@ Autowired,@ Inject,@ Resource和@Value注释由Spring BeanPostProcessor实现处理,这反过来意味着您不能在自己的BeanPostProcessor或BeanFactoryPostProcessor类型(如果有)中应用这些注释。必须通过XML或使用Spring @Bean方法显式地“连接”这些类型。

不能自动装配BeanPostProcessorBeanFactoryPostProcessor类型, 不过问题不大, 反正我也不认识这两个类型.(逃


直接@Autowired就可以获取到了, 以前只知道ApplicationContext是IOC容器, 现在知道其竟然可以被自动装配. 这种方法确实要简单很多, 也好记很多.


   转载规则


《在spring中获取applicationContext.》 echi1995 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
java 内存分析 java 内存分析
java 内存分析 2019年9月20日18:55:50 更新今天主要去看了一下jvm解析,感觉这篇博客写的很片面,很多东西都说对不对说错不错.也不进行删除了,留待给自己一个警醒. 后续我会先把jvm解析的课程看完,一部分一部分的将jvm
下一篇 
使用@PostConstruct修饰的方法执行顺序 使用@PostConstruct修饰的方法执行顺序
看到JSR-250,搜了一下.Spring JSR-250 注释包含三个注释@PostConstruct, @PreDestroy和 @Resource. 先不看@Resource, 单看前两个.在使用过程中,曾有过疑问, @PostCo
  目录