williamraym

          不一樣的Spring集成用法

            今天看到一篇erikchang的文章http://www.easyjf.com/blog/html/20080101/1015812.html,發(fā)現(xiàn)spring盡然可以這么用,有點(diǎn)意思。因?yàn)橐话闶褂肧pring的系統(tǒng)中基本上全部是以Spring為中心的,比如DWR的<create creator="spring">配置,Struts2中的使用<constant name="struts.objectFactory" value="spring" />就把容器切換成Spring的了。而且這些框架集成Spring的方式基本上無一例外都需要在Web.xml文件中加一個(gè)<listener>來啟動(dòng)Spring,如下所示:

          1<listener>
          2        <listener-class>
          3            org.springframework.web.context.ContextLoaderListener
          4        </listener-class>
          5</listener>



            但如何沒有了web.xml文件,又該如何集成呢?比如單元測(cè)試。

            而在erikchang的介紹中,似乎是把Spring容器作為了一個(gè)EasyJWeb的子容器,而且同時(shí)還可以引入其它子異構(gòu)的容器(比如Guice)、然后還可以把這些不同容器中的對(duì)象都注入到EasyJWeb容器控制的Bean或Action中。把這么多容器都往EasyJWeb容器中放,我真有點(diǎn)擔(dān)心,這樣的用法會(huì)不會(huì)把EasyJWeb的Ioc容器擠暴。

           EasyJWeb配置文件中加載Spring容器:

          <easyjf-web>
          <beans>
            
          <bean name="springContainer"
             class
          ="org.springframework.web.context.support.XmlWebApplicationContext">
             
          <property name="configLocations">
              
          <list>
               
          <value>WEB-INF/classes/application.xml</value>
              
          </list>
             
          </property>
            
          </bean>
            
          <bean name="innerSpringContainer"
             class
          ="com.easyjf.container.impl.SpringContainer">
             
          <property name="factory" ref="springContainer" />
            
          </bean>
            
          <!-- 申明Spring為easyjweb 應(yīng)用容器結(jié)束 -->
           
          </beans>
          </easyjf-web>

           

            本人剛接觸spring不久,很多地方不了解,歡迎大家討論。

            erikchang的文章原文:http://www.easyjf.com/blog/html/20080101/1015812.html

          posted on 2008-01-04 09:33 WilliamRaym 閱讀(1595) 評(píng)論(2)  編輯  收藏

          評(píng)論

          # re: 不一樣的Spring集成用法 2008-01-04 12:16 BeanSoft

          標(biāo)題太搶眼了吧。。。呵呵,原來是用EasyJWeb的容器來啟動(dòng)其它容器。。。先有雞,還是先有蛋?  回復(fù)  更多評(píng)論   

          # re: 不一樣的Spring集成用法 2008-01-04 13:24 yongyuan.jiang

          有很多方式進(jìn)行spring單元測(cè)試:

          1.使用ClasssPathXmlApplicationContext類
          applicationContext = new ClassPathXmlApplicationContext(new String[]{
          "applicationContext.xml"
          });
          applicationContext.getBean("id")即可

          2.繼承spring已有的類,如:
          AbstractDependencyInjectionSpringContextTests,重寫public String []getConfigLocations() {
          return new String[]{"classpath:applicationContext.xml"};}
          方法。
          即可運(yùn)行。

          詳情請(qǐng)查看spring幫助文檔  回復(fù)  更多評(píng)論   


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


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          <2008年1月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 腾冲县| 黄梅县| 个旧市| 海安县| 兰坪| 无为县| 台北市| 邢台县| 巴彦淖尔市| 沐川县| 吴忠市| 香格里拉县| 大洼县| 肃宁县| 渭源县| 绵阳市| 昌图县| 昆明市| 卓资县| 江口县| 宽城| 麻城市| 科技| 佳木斯市| 新和县| 新河县| 无锡市| 青铜峡市| 乌审旗| 敦化市| 南溪县| 弥渡县| 景洪市| 龙州县| 壤塘县| 日照市| 莒南县| 丹阳市| 东台市| 黄龙县| 济源市|