spring和struts的区别 一个struts2和spring2的整合
一个struts2和spring2的整合
在Struts 中整合Spring的IoC支持是一件十分简单的事情 让我们一步一步来实现 )复制struts spring plugin x x x jar和相应的spring jar到/WEB INF/lib目录下 )在struts properties中设置struts objectFactory属性值
struts properties struts objectFactory = spring 或者是在XML文件中进行常量配置
struts xml <struts> <constant name= struts objectFactory value= spring /> </struts> )配置Spring监听器

web xml <listener> <listener class> sprntext ContextLoaderListener</listener class> </listener> 通过Spring配置来注册对象
applicationContext xml <?xml version= encoding= UTF ?> <!DOCTYPE beans PUBLIC //SPRING//DTD BEAN//EN beans dtd > <beans default autowire= autodetect > <bean id= hello class= hpfyeah struts 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> )修改你的Struts配置文件
struts xml <!DOCTYPE struts PUBLIC //Apache Sofare Foundation//DTD Struts Configuration //EN dtd > <struts> <include file= struts default xml /> <package name= default extends= struts default > <action name= pureStruts class= hpfyeah struts spring HelloWorldAction > <result>hello jsp</result> </action> <action name= springStruts class= hello > <result>hello jsp</result> </action> </struts> 默认情况下 Spring从上面显示的applicationContext xml文件中寻找为hello所做的配置
)好了 现在你的Struts 和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
lishixinzhi/Article/program/Java/ky/201311/28404