`

webwork和spring的结合 Use SpringObjectFactory

阅读更多
//webwork的文档中自带

The xwork-optional package from dev.java.net contains a module xwork-spring that contains all the necessary code to use Spring in WebWork. It contains primarily a SpringObjectFactory to wire up the dependencies for an Action before passing it to WebWork. Each action should be configured within a Spring application context as a prototype (because WebWork assumes a new instance of a class for every action invocation). Specify something like this in applicationContext.xml:

<bean name="some-action" class="fully.qualified.class.name" singleton="false">
    <property name="someProperty"><ref bean="someOtherBean"/></property>
</bean>


and in xwork.xml:
<action name="myAction" class="some-action">
    <result name="success">view.jsp</result>
</action>

Notice that the WebWork Action's class name some-action is the bean name defined in the Spring application context.

Another advantage of the SpringObjectFactory approach is that it can also be used to load interceptors using the same sort of logic. If the interceptor is stateless, then it's possible to create the interceptor as a singelton instance, but otherwise it's best to create it as a Spring prototype.
In order to be used, the default ObjectFactory that WebWork uses should be replaced with an instance of the SpringObjectFactory. There are two different ways to accomplish this. The first method is to use the ContextListener in the xwork-optional package. This method assumes that the Spring application context has already been configured. Add the following to web.xml:
<!-- This needs to be after Spring ContextLoaderListener -->
<listener>
  <listener-class>com.opensymphony.xwork.spring.SpringObjectFactoryListener</listener-class>
</listener>

Note: this is actually a XWork configuration but for simplicity, I just assume WebWork.

The second method is to call the initObjectFactory method on com.opensymphony.xwork.spring.SpringObjectFactory. The easiest way to do this is to have Spring's application configure and supply the aforementioned method as the "init-method". Add the following to your applicationContext.xml:
<bean id="spring-object-factory" class="com.opensymphony.xwork.spring.SpringObjectFactory" init-method="initObjectFactory"/>
Note: The second option should work when only using Xwork (as compared to XW and WW2).
分享到:
评论

相关推荐

    webwork与spring集成

    WebWork框架与Spring框架的集成便是一个典型示例,它结合了WebWork在MVC架构方面的优势与Spring在依赖注入(DI)和面向切面编程(AOP)方面的能力,为开发者提供了更为灵活和强大的解决方案。本文将深入探讨WebWork...

    Webwork+spring+hibernate集成实例

    Webwork、Spring和Hibernate是Java开发中的三大框架,它们各自在不同的层面上为应用程序提供服务。Webwork负责处理用户交互,Spring提供依赖注入和管理事务,而Hibernate则专注于对象关系映射(ORM),使得数据库...

    webwork+spring整合例子 内带使用说明 以及webwork文档(中文)

    在这个“webwork+spring整合例子”中,很可能是提供了一个实际的项目示例,演示了如何配置和使用这两个框架的结合。这通常包括以下步骤: 1. 配置Spring的ApplicationContext,定义Bean并声明它们之间的依赖。 2. 在...

    webwork2.1 spring

    这两个框架的结合使得开发者可以利用WebWork的事件驱动模型和强大的表单验证功能,同时享受到Spring提供的服务和组件管理。 描述中的"webwork2.1 spring jar包"指的是用于集成这两个框架的特定JAR文件,它们是项目...

    webwork+spring+ibatis很适合初学者的实例

    WebWork、Spring 和 iBATIS 是三个非常重要的Java Web开发框架,它们的组合为初学者提供了丰富的学习资源。WebWork 是一个MVC(Model-View-Controller)框架,Spring 是一个全面的后端开发框架,而 iBATIS 是一个...

    WebWork.Spring.Hibernate整合开发网络书城

    《WebWork.Spring.Hibernate整合开发网络书城》这个主题涵盖了三个关键的技术框架:WebWork、Spring和Hibernate。这些技术在现代企业级Java应用开发中扮演着至关重要的角色,特别是对于构建复杂的、数据驱动的Web...

    webwork+spring+hibernate 开发资料

    WebWork、Spring和Hibernate是Java开发中的三大框架,它们各自在不同的层面上为应用程序提供服务。WebWork是一个轻量级的MVC(Model-View-Controller)框架,它简化了Web应用的开发,提供了强大的动作调度和数据绑定...

    WebWork+Spring.+Hibernate整合开发网络书城代码

    6. **配置文件**:包括WebWork的配置文件(如webwork.xml)、Spring的上下文配置文件(如applicationContext.xml)和Hibernate的映射文件(如.hbm.xml)。 通过这个整合示例,开发者可以学习如何在实际项目中有效地...

    webwork+spring+hibernate整合开发网络书城 第5讲

    webwork+spring+hibernate整合开发网络书城 第5讲

    如何实现webwork+spring+hibernate框架结合

    ### 如何实现WebWork+Spring+Hibernate框架结合 随着企业级应用需求的不断增加和技术的不断发展,集成多种技术栈成为一种趋势。WebWork+Spring+Hibernate是早期比较流行的一种技术组合,它们各自解决的问题域不同,...

    搭建WEBWORK+SPRING+HIBERNATE框架

    【搭建WEBWORK+SPRING+HIBERNATE框架】是一个集成三大流行开源框架的过程,用于构建...这个框架结合了WebWork的MVC架构、Spring的依赖注入和事务管理以及Hibernate的对象关系映射,提供了强大而灵活的应用开发能力。

    WebWork+Spring+Hibernate源码

    此外,还需要在 Web 工程的 WEB-INF 目录下创建 spring 配置文件和 WebWork 的配置文件,如 webwork.xml 和 struts.xml,以定义动作映射和 Spring 的 Bean。 在项目实践中,newsJ 文件可能包含了一些示例新闻管理...

    webwork-spring-hibernate.rar_spring_webwork

    总之,这个压缩包提供的资源是关于如何在Java Web项目中融合WebWork(Struts)、Spring和Hibernate这三个框架,实现一个完整的MVC架构,利用Spring的依赖注入和事务管理,结合Hibernate的ORM能力,构建高效、可维护...

    webwork+spring+hibernate+freemarker (A)demo_lib

    Webwork、Spring、Hibernate和Freemarker是Java Web开发中常用的四大框架,它们各自负责不同的职责,协同工作可以构建出高效、灵活的企业级应用。在这个"A" demo项目中,它们被整合在一起,提供了完整的MVC(Model-...

    webwork2.2.4+spring+hibernate做的一个登入程序

    最近在做个项目,用的是webwork+spring+hibernate,在网上看了不少webwork+spring的配制方式,大多都是老的配制方式,比如2.1.7的,webwork2.2.4新加了很多功能,和spring的配制也简单了很多,我做了一个简单的登录...

    webwork in spring

    WebWork和Spring的结合适用于大型企业级项目,尤其是那些需要高度定制和扩展性的项目。通过这种方式,开发者可以从WebWork的动态性、灵活性和易用性中获益,同时利用Spring的丰富功能和稳定性。 **学习资源** 由于...

    webwork-register.rar_webwork_webwork 验证_webwork spring

    WebWork和Spring是两个在Java Web开发中广泛使用的框架,它们各自有其独特的优势,并且可以结合使用以增强应用的功能和可维护性。本项目"webwork-register.rar"显然是一个基于WebWork和Spring构建的注册管理系统,让...

    webwork+spring+ibatis

    WebWork、Spring 和 iBatis 是三个在Java Web开发中常用的开源框架,它们结合使用可以构建出高效、灵活的企业级应用程序。以下是对这三个框架及其整合使用的详细解释: **WebWork**: WebWork 是一个轻量级的MVC...

    webwork+spring+ibatis注解培训文档

    - 将Spring与WebWork结合,Spring可以作为依赖注入容器,管理WebWork的Action和其他组件,提供更强大的控制反转和面向切面的能力。 - Spring与iBatis集成则可以利用Spring的事务管理,通过`@Transactional`注解,...

    WebWork.Spring.Hibernate整合开发网络书城全系列视屏4

    在IT行业中,WebWork、Spring和Hibernate是三个非常重要的开源框架,它们分别专注于Action层、应用层管理和持久层处理。本资源"WebWork.Spring.Hibernate整合开发网络书城全系列视屏4"提供了针对初学者的教程,通过...

Global site tag (gtag.js) - Google Analytics