天天看點

spring MVC 控制器擷取WebApplicationContext

webapplicationcontext  是幹什麼的?

webapplicationcontext 有以下方法:getbean() ,傳入bean的id就可以從上下文中擷取bean的執行個體.

使用場景:

一般情況下,我們可以是@resouce注解,來依賴注入,并不需要手動擷取bean的執行個體再setter.

但是抽象出一個公共的父類controller,裡面使用了泛型t,此時dao的名稱我們不知道,我們确定dao的名稱是t 的首字母小寫再加上字元串"dao",是以此時不能使用@resouce注解,就需要先擷取webapplicationcontext,然後通過getbean 方法擷取dao執行個體.

擷取webapplicationcontext  的方法:

spring MVC 控制器擷取WebApplicationContext

webapplicationcontext webapp=requestcontextutils.getwebapplicationcontext(request   , request.getsession().getservletcontext());  

 以下摘取自spring mvc官方文檔:

spring MVC 控制器擷取WebApplicationContext