Application Context 定义
简略来说就是 Spring 中的高级容器,能够获取容器中的各种 bean 组件,注册监听事件,加载资源文件等性能。
具体定义能够参考官网:https://spring.io/understandi…
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.
The ApplicationContext
provides:
- Bean factory methods for accessing application components.
- 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.
- Inheritance from a parent context.
Application Context 获取的几种形式
1、间接注入
@Resource
private ApplicationContext ctx;
2、实现 ApplicationContextAware 接口(举荐)
WebApplicationObjectSupport extends ApplicationObjectSupport implements ServletContextAware
从下面的继承关系看,获取 Application Context 还能够继承 WebApplicationObjectSupport、ApplicationObjectSupport,继承增强耦合性不举荐。
3、WebApplicationContextUtils 工具类
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
4、从以后线程绑定获取(Spring boot 不反对)
ApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();
近期热文举荐:
1.Java 15 正式公布,14 个新个性,刷新你的认知!!
2. 终于靠开源我的项目弄到 IntelliJ IDEA 激活码了,真香!
3. 我用 Java 8 写了一段逻辑,共事直呼看不懂,你试试看。。
4. 吊打 Tomcat,Undertow 性能很炸!!
5.《Java 开发手册(嵩山版)》最新公布,速速下载!
感觉不错,别忘了顺手点赞 + 转发哦!