熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

一個struts2和spring2的整合

2022-06-13   來源: Java開源技術 

  在Struts中整合Spring的IoC支持是一件十分簡單的事情讓我們一步一步來實現
    )復制strutsspringpluginxxxjar和相應的springjar到/WEBINF/lib目錄下
    )在strutsproperties中設置strutsobjectFactory屬性值

  strutsproperties
    strutsobjectFactory = spring
    或者是在XML文件中進行常量配置

  strutsxml
    <struts>
        <constant name=strutsobjectFactory value=spring />
    </struts>
    )配置Spring監聽器

  webxml
    <listener>
        <listenerclass>orgsprntextContextLoaderListener</listenerclass>
    </listener>
    通過Spring配置來注冊對象

  applicationContextxml
    <?xml version= encoding=UTF?>
    <!DOCTYPE beans PUBLIC
        //SPRING//DTD BEAN//EN
        beansdtd>
    <beans defaultautowire=autodetect>
        <bean id=hello class=hpfyeahstrutsspringHelloWorldAction/>
    </beans>
    當然你也可以擁有更多的Spring配置文件在webxml中進行下列設置從而使Spring的ApplicationContext通過匹配所給定模式的文件來初始化對象

  webxml
    <! 用來定位Spring XML文件的上下文配置 >
    <contextparam>
        <paramname>contextConfigLocation</paramname>
        <paramvalue>
            /WEBINF/applicationContext*xmlclasspath*:applicationContext*xml
        </paramvalue>
    </contextparam>
    )修改你的Struts配置文件

  strutsxml
    <!DOCTYPE struts PUBLIC
        //Apache Software Foundation//DTD Struts Configuration //EN
        dtd>
    <struts>
        <include file=strutsdefaultxml/>
        <package name=default extends=strutsdefault>
            <action name=pureStruts class=hpfyeahstrutsspringHelloWorldAction>
                <result>hellojsp</result>
            </action>
            <action name=springStruts class=hello>
                <result>hellojsp</result>
            </action>
    </struts>
    默認情況下Spring從上面顯示的applicationContextxml文件中尋找為hello所做的配置

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

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

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

  strutsproperties
    strutsobjectFactoryspringuseClassCache = false


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28404.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.