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 飛飛 閱讀(305) 評論(0)  編輯  收藏

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 册亨县| 无锡市| 台中县| 大方县| 沙田区| 富裕县| 连江县| 龙岩市| 洛宁县| 凤台县| 鞍山市| 柳林县| 措美县| 玉林市| 长岭县| 奎屯市| 吉安市| 扶风县| 呼玛县| 武强县| 焦作市| 潼关县| 山西省| 河南省| 阿合奇县| 开封市| 紫云| 务川| 嘉兴市| 博爱县| 凤凰县| 绵阳市| 师宗县| 安仁县| 双流县| 隆安县| 云霄县| 霍邱县| 沛县| 武川县| 延川县|