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 寫了一段邏輯,同事直呼看不懂,你試試看。。
覺得不錯,別忘了隨手點贊+轉發哦!