把Spring集成到Struts2项目中,在Struts2的官网提供了Struts2-Spring插件来提供思路和解决方案,而在Spring官网的文档中,与Struts2集成的方法是连接到上述Struts2-Spring插件的页面的,不过Spring官网提供了通用的集成方法,这个方法倒是可以参考。
对于IoC功能的集成,Struts2的Spring插件在两个方面提供了集成:一方面是让Spring来生成Action类的实例,这个时候Action就是Spring的Bean,这就需要配置“struts.objectFactory = org.apache.struts2.spring.StrutsSpringObjectFactory”,这个StrutsSpringObjectFactory会首先根据class=...作为bean的name到Spring的Context中寻找bean,如果找到,就作为Action,否则,就把class=...作为类路径用反射机制实例化出一个对象;另一方面是让Spring来注入依赖Bean,这就需要用插件里带的拦截器,或者自己写拦截器来注入Bean,其本质是用了WebApplicationContext.getAutowireCapableBeanFactory().autowireBean(Object o)方法。
一般需要根据项目的需求来选择使用哪方面或两方面都使用。如果只使用第二方面,即使激活了第一方面也不会出错。建议如果只使用第二方面的话,自己写拦截器,而不要用插件里带的,因为插件里的有一些冗余代码。另外还需要考虑是否把WebApplicationContext放入值栈、ActionContext、ServletContext或是其他位置,以便在jsp里面调用。
如之前所说,Spring官方文档上的Struts2的集成方法其实指向到了之前说的Struts2-Spring的插件的页面上,而并没有介绍新的集成方法。其实,不管怎样集成,本质是一样的。可以参考Struts2的Spring插件的文档全文和Spring官方文档(3.0版本)上17.2节“Common configuration”的内容来整合,而不要一味的使用插件。
总之,了解本质更重要。个人理解,欢迎批评。如果你有耐心看完,不妨继续看一下下方的评论,说不定已经有人指出本文的错误或不足之处。
参考资料:
Struts2的Spring插件网址:http://struts.apache.org/2.x/docs/spring-plugin.html
Spring3.0的官方文档中17.2节:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/web-integration.html#web-integration-common
分享到:
相关推荐
Struts2+Spring+Hibernate集成开发环境的配置小例子。
16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...
16.2协同使用spring和webwork2/struts2 16.3集成spring和tapestry 16.3.1集成spring和tapestry3 16.3.2集成spring和tapestry4 16.4协同使用spring和jsf 16.4.1解析jsf管理的属性 16.4.2解析springbean 16.4.3...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...
16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@...
所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 ☆ Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,...
主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e技术入门、Hibernate高级应用、Spring核心之IoC、...
本系统,简单明确,让大家看来不是很繁琐,只要...SSH:SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。 集成SSH框架的系统从职责上分为四层:表示层、业务层、逻辑层、应用层
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...