獲取Spring的ApplicationContext的幾種方式


Application Context定義

簡單來說就是Spring中的高級容器,可以獲取容器中的各種bean組件,注冊監聽事件,加載資源文件等功能。

具體定義可以參考官網: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、實現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開發手冊(嵩山版)》最新發布,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM