176142998

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            116 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks
           在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所做的配置

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

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


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

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


          http://dev.rdxx.com/Java/Struts/2008/5/2313512756889_2.shtml

          posted on 2008-06-12 15:55 飛飛 閱讀(306) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 揭西县| 彰化市| 竹溪县| 南木林县| 巴马| 宜城市| 历史| 繁昌县| 犍为县| 应用必备| 淮南市| 龙门县| 渭南市| 江孜县| 印江| 错那县| 黔西县| 德阳市| 郴州市| 江孜县| 浏阳市| 界首市| 大名县| 宣汉县| 平度市| 河东区| 南丹县| 碌曲县| 昌宁县| 蒙阴县| 黑龙江省| 拉孜县| 蛟河市| 工布江达县| 祁东县| 周至县| 深州市| 天镇县| 江门市| 澄迈县| 修文县|