Application Context定義java
簡單來講就是Spring中的高級容器,能夠獲取容器中的各類bean組件,註冊監聽事件,加載資源文件等功能。spring
具體定義能夠參考官網:https://spring.io/understanding/application-contextintellij-idea
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 寫了一段邏輯,同事直呼看不懂,你試試看。。
以爲不錯,別忘了隨手點贊+轉發哦!