java

位置:IT落伍者 >> java >> 浏览文章

一个struts2和spring2的整合


发布日期:2022年12月02日
 
一个struts2和spring2的整合

在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

上一篇:Struts开发指南之工作流程实例演示

下一篇:Struts网站导航系统设计新思路探讨