获取Spring的ApplicationContext的几种方式

Application Context定义java

简单来讲就是Spring中的高级容器,能够获取容器中的各类bean组件,注册监听事件,加载资源文件等功能。spring

具体定义能够参考官网:https://spring.io/understanding/application-contextintellij-idea

Understanding Application Context

The ApplicationContext is the central interface within a Spring application for providing configuration information to the application. It is read-only at run time, but can be reloaded if necessary and supported by the application. A number of classes implement the ApplicationContext interface, allowing for a variety of configuration options and types of applications.app

The ApplicationContext provides:ide

  • Bean factory methods for accessing application components.spring-boot

  • The ability to load file resources in a generic fashion.工具

  • The ability to publish events to registered listeners.性能

  • The ability to resolve messages to support internationalization.idea

  • Inheritance from a parent context.线程

Application Context获取的几种方式

一、直接注入

@Resource

private ApplicationContext ctx;

二、实现ApplicationContextAware接口(推荐)

WebApplicationObjectSupport extends ApplicationObjectSupport implements ServletContextAware

从上面的继承关系看,获取Application Context还能够继承WebApplicationObjectSupport 、ApplicationObjectSupport,继承增强耦合性不推荐。

三、WebApplicationContextUtils工具类

ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());

四、从当前线程绑定获取(Spring boot不支持)

ApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();

近期热文推荐:

1.Java 15 正式发布, 14 个新特性,刷新你的认知!!

2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!

3.我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。

4.吊打 Tomcat ,Undertow 性能很炸!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

以为不错,别忘了随手点赞+转发哦!

相关文章
相关标签/搜索