javascript
获取Spring的ApplicationContext的几种方式
轉(zhuǎn)載自?獲取Spring的ApplicationContext的幾種方式
?
Application Context定義
?
簡單來說就是Spring中的高級容器,可以獲取容器中的各種bean組件,注冊監(jiān)聽事件,加載資源文件等功能。
?
具體定義可以參考官網(wǎng):https://spring.io/understanding/application-context
?
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、實現(xiàn)ApplicationContextAware接口(推薦)
?
?
WebApplicationObjectSupport?extends?ApplicationObjectSupport?implements?ServletContextAware
?
從上面的繼承關(guān)系看,獲取Application Context還可以繼承WebApplicationObjectSupport 、ApplicationObjectSupport,繼承加強耦合性不推薦。
?
3、WebApplicationContextUtils工具類
?
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
?
4、從當前線程綁定獲取(Spring boot不支持)
?
ApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();
?
總結(jié)
以上是生活随笔為你收集整理的获取Spring的ApplicationContext的几种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过实例理解 JDK8 的 Comple
- 下一篇: 一个主机带两个显示器对电脑的配置有什么要