posts - 3,  comments - 0,  trackbacks - 0
          服務(wù)器啟動(dòng)以后,(Servlet容器啟動(dòng))創(chuàng)建了許多對(duì)象,如 servlet, filter, listener,spring等等 那么如何使用這些對(duì)象呢?  下面介紹在Servlet(或者Filter,或者Listener)中使用spring的IOC容器
          默認(rèn)情況下Servlet容器創(chuàng)建spring容器對(duì)象,注入到servletContext中,servletContext對(duì)象又是注入到session對(duì)象中,session對(duì)象又是注入到request對(duì)象中,request對(duì)象又是注入到servlet對(duì)象中,(其實(shí)不是很標(biāo)準(zhǔn)的注入,是傳參數(shù),或者對(duì)屬性直接付值)。層層依賴(lài)可以得到spring容器對(duì)象。

          WebApplicationContext webApplicationContext = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext()); 

                  所以可以直接在ServletContext取出WebApplicationContext 對(duì)象:

          WebApplicationContext webApplicationContext = (WebApplicationContext) servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

          事實(shí)上WebApplicationContextUtils.getWebApplicationContext方法就是使用上面的代碼實(shí)現(xiàn)的,建議使用上面上面的靜態(tài)方法 


          注意:在使用webApplicationContext.getBean("ServiceName")的時(shí)候,前面強(qiáng)制轉(zhuǎn)化要使用接口,如果使用實(shí)現(xiàn)類(lèi)會(huì)報(bào)類(lèi)型轉(zhuǎn)換錯(cuò)誤。如:
          LUserService userService = (LUserService) webApplicationContext.getBean("userService");
          posted on 2008-12-30 14:01 jk 閱讀(418) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 区。| 高平市| 鄄城县| 英山县| 醴陵市| 庆云县| 大渡口区| 兴化市| 荔波县| 黄平县| 贡嘎县| 顺义区| 宽城| 安康市| 改则县| 巴青县| 小金县| 咸丰县| 光山县| 二连浩特市| 辽宁省| 桃园县| 玛纳斯县| 乌拉特中旗| 江门市| 寿宁县| 甘泉县| 松溪县| 通辽市| 宜宾县| 承德县| 常州市| 于田县| 门源| 乡宁县| 庆元县| 余姚市| 孟州市| 嘉鱼县| 邵阳市| 聊城市|