strut2提供了一種非常簡(jiǎn)單的方式來(lái)實(shí)現(xiàn)與spring的整合,記得以前用struts1還要改配置文件,struts通過(guò)一種“可插撥式”的插件,實(shí)現(xiàn)了與Spring框架的整合。在實(shí)現(xiàn)應(yīng)用中,只需要把struts2-spring-plugin-x.x.x.x.jar(其中的xxxx為版本號(hào))文件拷到應(yīng)用的lib下即可。
Struts2提供了兩種基本的整合策略:
1. 將Action實(shí)例交給Spring容器來(lái)負(fù)責(zé)生成,管理,通過(guò)這種方式,可以充分利用Spring容器的IOC特性,提供最好的解耦;
2. 利用Spring插件的自動(dòng)裝配方式,當(dāng)Spring插件創(chuàng)建Action實(shí)例之后,立即將Spring窗口中對(duì)應(yīng)的業(yè)務(wù)邏輯組件注入Action實(shí)例。
下面看看兩個(gè)實(shí)例:
首先:把spring.jar commons-logging.jar及struts2-spring-plugin-x.x.x.x.jar等相關(guān)的包拷到lib下,修改web.xml:添加linstener
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
這樣配置之后,Spring自動(dòng)查找WEB-INF路徑下的applicationContext.xml配置文件。當(dāng)然也可以自己指定配置文件,則需要在web.xml中<context-param>元素,如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/my.xml</param-value>
</context-param>
1.用第一方式實(shí)現(xiàn)struts2與spring的整合















































































(4)業(yè)務(wù)邏輯接口(MyService.java):




























2.使用自動(dòng)裝配方式整合
(1)指定自動(dòng)裝配的策略,讓Spring 自動(dòng)管理Bean與Bean之間的依賴有關(guān)系,無(wú)需使用ref顯式指定依賴Bean ,Spring容器會(huì)自動(dòng)檢查XML配置文件內(nèi)容,為主調(diào)Bean 注入依賴Bean。Spring 提供了3種裝配策略,通過(guò)修改struts.objectFactory.spring.autoWire常量指定,可接受的3個(gè)值:
1.name:根據(jù)屬性名自動(dòng)裝配,這個(gè)是默認(rèn)值。
2.type根據(jù)屬性類型自動(dòng)裝配
3.auto自動(dòng)檢測(cè)需要使用哪種自動(dòng)裝配方式
在上面的簡(jiǎn)單應(yīng)用中,只需要修改配置文件即可:
1.修改struts.xml配置文件:class屬性與沒(méi)有整合時(shí)一樣的。。


























