不死的執著

          奮斗毫秒

          常用鏈接

          統計

          最新評論

          2008年11月3日 #

          spring2和struts2整合

          在Struts2中整合Spring的IoC支持是一件十分簡單的事情。讓我們一步一步來實現:
              1)復制struts2-spring-plugin-x-x-x.jar和相應的spring.jar到/WEB-INF/lib目錄下。
              2)在struts.properties中設置struts.objectFactory屬性值


              struts.properties
              struts.objectFactory = spring
              或者是在XML文件中進行常量配置

              struts.xml
              <struts>
                  <constant name="struts.objectFactory" value="spring" />
              </struts>
              3)配置Spring監聽器

              web.xml
              <listener>
                  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
              </listener>
              通過Spring配置來注冊對象

              applicationContext.xml
              <?xml version="1.0" encoding="UTF-8"?>
              <!DOCTYPE beans PUBLIC
                  "-//SPRING//DTD BEAN//EN"
                  "http://www.springframework.org/dtd/spring-beans.dtd">
              <beans default-autowire="autodetect">
                  <bean id="hello" class="hpfyeah.struts2.spring.HelloWorldAction"/>
              </beans>
              當然你也可以擁有更多的Spring配置文件。在web.xml中進行下列設置,從而使Spring的ApplicationContext通過匹配所給定模式的文件來初始化對象

           

              web.xml
              <!-- 用來定位Spring XML文件的上下文配置 -->
              <context-param>
                  <param-name>contextConfigLocation</param-name>
                  <param-value>
                      /WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml
                  </param-value>
              </context-param>
              4)修改你的Struts配置文件

              struts.xml
              <!DOCTYPE struts PUBLIC
                  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
                  "http://struts.apache.org/dtds/struts-2.0.dtd">
              <struts>
                  <include file="struts-default.xml"/>
                  <package name="default" extends="struts-default">
                      <action name="pureStruts" class="hpfyeah.struts2.spring.HelloWorldAction">
                          <result>hello.jsp</result>
                      </action>
                      <action name="springStruts" class="hello">


                          <result>hello.jsp</result>
                      </action>
              </struts>
              默認情況下,Spring從上面顯示的applicationContext.xml文件中尋找為hello所做的配置 軟件開發網 www.mscto.com

           

          5)好了,現在你的Struts2和Spring就能正常的一起工作了。有幾個配置技術點需要詳細說明下:
              裝配模式。你可以通過設置修改struts.properties中下列屬性的值來改變裝配模式。

           

              name 按照你的action的屬性的名字和Spring里的bean的名字匹配,如果匹配就自動裝配。這是缺省的
              type 按照你的action的屬性的類型,在Spring注冊的bean中查找,如果相同就自動裝配。這需要你在Spring中僅注冊了一個此類型的bean
              auto Spring會試圖自動監測來找到最好的方法自動裝配你的action
              constructor Spring會自動裝配bean的構造函數的參數

           


              是否使用類緩存。你可以通過設置修改struts.properties中下列屬性的值來改變是否使用Spring自身的類緩存機制。可以設定的值為true或false,默認為true。

              struts.properties
              struts.objectFactory.spring.useClassCache = false

          posted @ 2008-11-03 21:31 歐陽亮 閱讀(117) | 評論 (0)編輯 收藏

          僅列出標題  
          主站蜘蛛池模板: 上犹县| 绥阳县| 格尔木市| 徐闻县| 平定县| 贺兰县| 来安县| 泸水县| 阜南县| 新兴县| 密山市| 内乡县| 美姑县| 会宁县| 甘孜| 桦甸市| 荥阳市| 舟曲县| 台东市| 尖扎县| 阿合奇县| 水城县| 贵溪市| 怀来县| 大化| 海南省| 太和县| 康乐县| 临武县| 农安县| 罗甸县| 通许县| 凉山| 许昌县| 福海县| 涟水县| 岳阳市| 获嘉县| 洛川县| 克什克腾旗| 班戈县|