03.01 Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

本文將介紹在Spring框架項目代碼中訪問Spring Framework框架中應用程序上下文Application Context的三種不同方式。

方式一

在你的類中你實現了ApplicationContextAware接口,像這樣的代碼:

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

方式二

如果是在Java Servlet中,則可以使用以下方式:

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

這裡會有疑問,我們該如何選擇以上兩種方法?答案是:根據你項目中Spring調用的方式。

使用方式一時:當你調用Spring時使用DispatcherServlet鏈接。然後將解析ApplicationContextAware的實現並調用setApplicationContext()方法來賦值設置上下文ApplicationContext。

在web.xml中:

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

如果你沒有使用DispatcherServlet,並且時使用Listener初始化Spring,並且你有自己的Servlet處理Request \\ Response,則使用方式二

下面是web.xml在這種情況下的樣子。

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

這就能說明為什麼有時即使你已經實現了ApplicationContextAware接口,你的setter方法也不會被調用。

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

方式三

使用靜態方法創建以下類以獲取您的上下文ApplicationContext:

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

然後在spring bean配置文件中添加以下內容:

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

在你的類中就可以直接這樣獲取,

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?

Spring開發者 :獲取上下文的三種方式,你都掌握了嗎?


分享到:


相關文章: