- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
strut2和spring整合.
1.将struts2-spring-plugin-2.0.8.jar文件包含到我们的应用中,放到WEB-INF/lib目录下面即可。在这个插件包中有 个struts-plugin.xml文件,它的内容如下:
struts
??? bean type=com.opensymphony.xwork2.ObjectFactory name=spring
???????? class=org.apache.struts2.spring.StrutsSpringObjectFactory /
?牋 constant name=struts.objectFactory value=spring /c
牋?package name=spring-defaultac
牋牋牋?interceptorsprin
牋牋牋牋牋?interceptor name=autowiring ry va
class=erceptor.ActionAutowiringInterceptor/
牋牋牋牋牋?interceptor name=sessionAutowiringceptor
燾lass=erceptor.SessionContextAutowiringInterceptor/p
牋牋牋?/interceptorstrut
牋?/package牋?tors
/struts
这里它将框架常量struts.objectFactory覆盖了,设置为”spring”,其实这里是使用了缩写,我们可 以写全称:org.apache.struts2.spring.StrutsSpringObjectFactory。这个缩写的”spring”是和bean配置中的name属性相对应的。默认情况下所有由框架创建的对象 都是由ObjectFactory实例化的,ObjectFactory提供了与其它IoC容器如Spring、Pico等集成的方法。覆盖这个ObjectFactory的类必须继承ObjectFactory类或者它的任何子类,并且要带有 一个不带参数的构造方法。在这里我们用org.apache.struts2.spring.StrutsSpringObjectFactory代替了默认的ObjectFactory。
如果action不是使用Spring ObjectFactory创建的话,插件提供了两个拦截器来自动装配action,默认情况下框架使用的自动装配策 略是name,也就是说框架会去Spring中寻找与action属性名字相同的bean,可选的装配策略还有:type、auto、constructor,我们可以通过常量struts.objectFactory.spring.autoWire来进行设置。
2.配置Spring监听器,将Spring.jar包包含到应用中
在web.xml中加上:
listener
??????? listener-class
??????????? org.springframework.web.context.ContextLoaderListener
??????? /listener-class
??? /listener
??? context-param
??????? param-namecontextConfigLocation/param-name
??????? param-value
??????????? classpath:applicationContext.xml
??????? /param-value
??? /context-param
3.利用Spring配置文件来注册对象
在applicationContext-xml.进 行配置bean,当配置Action的id时应该与struts.xml中class我相应,进行关联起来。如下:
?xml version=1.0 encoding=UTF-8?
!DOCTYPE beans PUBLIC
??? -//SPRING//DTD BEAN//EN
??? /dtd/spring-beans.dtd
?
beans
??? !-- Example of SAF2 action instantiated by Spring --
??? bean id=dao class=tutorial.dao.BookDao singleton=true /
牋?bean id=bookAction class=tutorial.action.BookAction singleton=false如下
牋牋牋?property name=daolass
牋牋牋牋牋?ref local=dao /lass=
牋牋牋?/propertyl=d
牋?/beanpe
文档评论(0)