获取Spring的ApplicationContext的几种方式

简介: Application Context定义简单来说就是Spring中的高级容器,可以获取容器中的各种bean组件,注册监听事件,加载资源文件等功能。具体定义可以参考官网:https://spring.

Application Context定义

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

具体定义可以参考官网:https://spring.io/understanding/application-context

Understanding Application Context

TheApplicationContextis 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 theApplicationContextinterface, allowing for a variety of configuration options and types of applications.

TheApplicationContextprovides:

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接口(推荐)

WebApplicationObjectSupportextendsApplicationObjectSupportimplementsServletContextAware

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

3、WebApplicationContextUtils工具类

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

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

ApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();

相关文章
|
Java Spring 容器
04Spring - Spring工厂的类图结构(ApplicationContext)
04Spring - Spring工厂的类图结构(ApplicationContext)
122 0
|
XML Java 数据格式
深入解析Spring框架的ApplicationContext体系结构
深入解析Spring框架的ApplicationContext体系结构
143 0
|
3月前
|
XML Java 数据格式
探索Spring之利剑:ApplicationContext接口
本文深入介绍了Spring框架中的核心接口ApplicationContext,解释了其作为应用容器的功能,包括事件发布、国际化支持等,并通过基于XML和注解的配置示例展示了如何使用ApplicationContext管理Bean实例。
153 6
|
10月前
|
Java 测试技术 数据库连接
【Spring源码解读!底层原理高级进阶】【下】探寻Spring内部:BeanFactory和ApplicationContext实现原理揭秘✨
【Spring源码解读!底层原理高级进阶】【下】探寻Spring内部:BeanFactory和ApplicationContext实现原理揭秘✨
|
9月前
|
存储 Java C++
理解SpringIOC和DI第一课(Spring的特点),IOC对应五大注解,ApplicationContext vs BeanFactory
理解SpringIOC和DI第一课(Spring的特点),IOC对应五大注解,ApplicationContext vs BeanFactory
|
10月前
|
Java Spring 容器
Spring底层原理之 BeanFactory 与 ApplicationContext
Spring底层原理之 BeanFactory 与 ApplicationContext
93 3
|
10月前
|
XML Java 开发者
【Spring源码解读 底层原理高级进阶】【上】探寻Spring内部:BeanFactory和ApplicationContext实现原理讲解
【Spring源码解读 底层原理高级进阶】【上】探寻Spring内部:BeanFactory和ApplicationContext实现原理讲解
|
Java Spring
Spring源码系列(补充):详解ApplicationContext
本文介绍了Spring框架中ApplicationContext的几个核心概念,包括MessageSource、ResourcePatternResolver、获取运行时环境、ApplicationEventPublisher和OrderComparator。对于每个概念,文章都提供了具体的用法示例和注意事项。如果您正在学习或使用Spring框架,本文将为您提供有价值的参考。
Spring源码系列(补充):详解ApplicationContext
|
10月前
|
XML Java 数据格式
Spring5源码(26)-ApplicationContext容器refresh过程简析
Spring5源码(26)-ApplicationContext容器refresh过程简析
79 0
|
10月前
|
Java C++ Spring
深入Spring原理-1.BeanFactory与ApplicationContext的区别
深入Spring原理-1.BeanFactory与ApplicationContext的区别
124 0