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自身的類緩存機制。可以設定的值為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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 平顶山市| 团风县| 喀喇沁旗| 邯郸县| 武强县| 康定县| 温州市| 红河县| 游戏| 大丰市| 青田县| 桂林市| 化德县| 大冶市| 丹江口市| 拉孜县| 岳池县| 璧山县| 四会市| 寻乌县| 赤城县| 青海省| 凤翔县| 四川省| 五常市| 高邑县| 韶关市| 彩票| 民乐县| 阳江市| 天峻县| 凤阳县| 玉屏| 武汉市| 兴义市| 阿拉尔市| 漳浦县| 江永县| 儋州市| 安陆市| 曲水县|