獲取Spring的ApplicationContext的幾種方式

Application Context定義java

簡單來講就是Spring中的高級容器,能夠獲取容器中的各類bean組件,註冊監聽事件,加載資源文件等功能。spring

具體定義能夠參考官網:https://spring.io/understanding/application-contextintellij-idea

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.app

The ApplicationContext provides:ide

  • Bean factory methods for accessing application components.spring-boot

  • 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.idea

  • Inheritance from a parent context.線程

Application Context獲取的幾種方式

一、直接注入

@Resource

private ApplicationContext ctx;

二、實現ApplicationContextAware接口(推薦)

WebApplicationObjectSupport extends ApplicationObjectSupport implements ServletContextAware

從上面的繼承關係看,獲取Application Context還能夠繼承WebApplicationObjectSupport 、ApplicationObjectSupport,繼承增強耦合性不推薦。

三、WebApplicationContextUtils工具類

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

四、從當前線程綁定獲取(Spring boot不支持)

ApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();

近期熱文推薦:

1.Java 15 正式發佈, 14 個新特性,刷新你的認知!!

2.終於靠開源項目弄到 IntelliJ IDEA 激活碼了,真香!

3.我用 Java 8 寫了一段邏輯,同事直呼看不懂,你試試看。。

4.吊打 Tomcat ,Undertow 性能很炸!!

5.《Java開發手冊(嵩山版)》最新發布,速速下載!

以爲不錯,別忘了隨手點贊+轉發哦!

相關文章
相關標籤/搜索