`
froast
  • 浏览: 254817 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

由spring管理struts的Action实例

阅读更多

当指定struts.objectFactory为spring时,struts2框架就会把bean转发给spring来创建,装配,注入。但是bean创建完成之后,还是由struts容器来管理其生命周期。配置方式:

(1)struts.xml中:

xml 代码
  1. <constant name="struts.objectFactory" value="spring" />  

 

(2)struts.properties中:

java 代码
  1. struts.objectFactory=spring  

 

通常情况下,这样子就够了,然后在struts的action-mapping配置文件中,如下:

xml 代码
  1. <action name="user" class="com.myapp.admin.web.action.user.UserAction"></action>  

即可,如果在Action中有依赖于其它的BEAN,也会被自动注入进来。这时候,Action实例是以prototype方式创建的,SPRING会为每个请求创建一个ACTION的实例。

 

在某些时候,你可能希望不仅仅让SPRING创建和装配Action对象,还希望让SPRING完全管理这些对象,如希望使用AOP或者希望使用acegi时。这时候,只需要在spring的配置文件中定义这些action 即可。如在applicationContext.xml文件中:

xml 代码
  1. <bean id="user" class="com.myapp.web.action.user.UserAction"/>  

然后在action-mapping中,指定class="user"即可。

 

分享到:
评论
2 楼 felixlee 2014-04-30  
楼主是不是能提一下要把struts-plugin.xml加入到web.xml的这个filter配置里,我按你的方法配置后,找了好久才发现需要添加这个配置。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,config/struts.xml</param-value>
</init-param>
</filter>
1 楼 Alrale 2007-07-29  
需要注意的一个地方:Spring中的缺省作用域是Singleton作用域。而往往Action属于有状态的bean,应该使用prototype作用域。<bean id="user" class="com.myapp.web.action.user.UserAction" singleton="false"/> 如果忽略这个细节,在我们方便实用set,get方法处理数据的时候,可能会有线程安全上的风险。

相关推荐

    spring管理struts的action的代码

    这行配置告诉Struts框架使用Spring作为对象工厂,这意味着所有的Action实例都将由Spring容器来创建和管理。这样一来,Action类就无需实现特定的接口或继承特定的基类,可以保持其原有的简洁性。 #### 五、示例:...

    JPA+Spring+Struts整合实例,JPA+Spring+Struts整合实例

    **JPA+Spring+Struts整合实例** 整合JPA、Spring和Struts的主要目标是实现数据访问层(DAO)、业务逻辑层(Service)和表示层(View)的有效协同工作。 **1. 配置环境** 首先,确保你的项目中包含了这三个框架的...

    spring管理struts和hibernate

    - 使用Spring的`&lt;bean&gt;`元素来创建Struts Action的实例,同时可以利用Spring的依赖注入特性来管理Action与其他组件之间的依赖关系。 2. **简化开发流程**: - 通过Spring管理Struts中的Action,可以减少大量的...

    Spring+Struts2.0实例代码

    学习这个实例,你可以了解如何将前端请求与后端服务连接,理解 Spring 如何通过 DI 管理对象,以及 Struts 2.0 如何组织和执行业务逻辑。这对于初学者来说是一个很好的实践平台,能帮助你快速掌握 Java Web 开发的...

    JPA+Spring+Struts整合实例

    **JPA+Spring+Struts整合实例** 在Java企业级应用开发中,Spring、Struts和JPA(Java Persistence API)是三个非常重要的框架。它们分别负责不同的职责:Spring作为一个全能型框架,提供了依赖注入(DI)和面向切面...

    struts2+hibernate+spring+ibatis 小实例

    struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+...

    struts2_mybatis_spring_框架实例整合_数据库 文档

    Struts2、MyBatis和Spring是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、数据持久层和应用上下文管理。这篇文档将深入探讨如何将这三个框架整合在一起,以及如何结合数据库进行实际应用。 ...

    简单的spring+struts+hibernate实例

    在"简单的spring+struts+hibernate实例"中,我们可以看到一个基础的用户管理功能,包括用户的创建、删除、修改和查询。这个例子主要围绕以下几个核心知识点展开: 1. **Spring框架**: - **依赖注入(DI)**:...

    spring+struts框架实例(带详解)(含JAR包可直接在tomcat或eclipse下运行)

    在这个"spring+struts框架实例"中,可能包含了以下关键知识点: 1. **依赖注入(DI)**:Spring的核心特性,允许组件之间通过接口而非具体实现进行交互,降低了组件间的耦合度,便于测试和维护。 2. **面向切面...

    spring与struts2整合

    通过在 Action 类上使用 `@Component` 注解并配置在 Spring 配置文件中,可以确保 Spring 能够创建和管理这些类的实例。 5. **拦截器**:Struts2 中的拦截器可以用来实现通用的行为,如权限验证、日志记录等。通过...

    整合Spring与Struts的几种方法

    在整合两者时,主要目标是让Spring管理Struts的Action实例,这样可以利用Spring的IoC容器来创建和控制Action对象。 首先,关键步骤是使Struts的ActionServlet能够加载Spring的应用程序环境。这可以通过在Struts的...

    spring +struts + hibernate 例子

    整合过程中,Spring通常作为全局的上下文容器,管理Struts的Action和Hibernate的SessionFactory。Struts负责处理HTTP请求,调用Spring管理的业务服务,这些服务又依赖于Hibernate提供的DAO(数据访问对象)来操作...

    spring_struts2_mybatis_注解的小实例

    在本项目"spring_struts2_mybatis_注解的小实例"中,我们将深入探讨如何使用SSM(Spring、Struts2、MyBatis)框架来实现一个基础的增删改查(CRUD)功能。SSM是Java Web开发中常用的三大组件,它们各自负责不同的...

    spring_struts整合jar包

    7. **配置文件整合**:需要在struts.xml和Spring的配置文件中进行相应的配置,确保请求能够正确地路由到Action并由Spring管理。 8. **结果转发**:Struts2的Action执行完毕后,通常会返回一个结果,这个结果可以...

    ibatis+Spring+struts2整合实例

    - **整合工作**:在Struts2的Action类中,通过@Autowired注入Service层bean,Service层再调用由Spring管理的DAO实现类完成数据访问。同时,Spring的AOP功能可以用来实现事务管理,确保业务操作的原子性。 - **测试...

    spring,struts1,hibernate实例

    Spring作为整体的容器,管理Struts1和Hibernate的生命周期,同时提供了事务管理。Struts1负责处理用户交互,而Hibernate则处理数据持久化。这种架构在处理复杂业务逻辑和大型项目时表现出色,但随着技术的发展,现代...

    Spring与Struts2整合

    - 在使用Struts2-Spring插件时,注意Action类的生命周期是由Spring控制,而非Struts2。 整合Spring和Struts2是一个常见的Java Web开发实践,熟练掌握这一技能能够提高开发效率,提升应用的可维护性和扩展性。在实际...

    Spring+Struts+Hibernate 实例源代码

    在本实例中,Spring可能被用来管理Bean的生命周期,处理服务层的事务,并通过AOP实现如日志记录、安全控制等跨切面关注点。Spring还提供了与Struts和Hibernate的整合支持,使得三者能够无缝协作。 Struts是基于MVC...

Global site tag (gtag.js) - Google Analytics