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