终于基本上完成了webwork+spring+hibernater的整合.下面以我做的为例简单说明开发过程及思路:
我们要使用的webwork提供给我们的东西很多,不过我只使用其MVC的容器.贯穿整个应用程序的是其MVC的框架.我们使用Spring 的目的是要解藕.类的管理我们使用其提供的Ioc容器.hibernate我们要它的目的是其提供的O/R Mapping.
1.思路
I 关于MVC的实现
起源: 从web页的form提交开始产生一个Action,传递一个对象,根据xwork的配置由一个实现了Action接口的类来处理.一般在excute方法里处理.
分水岭:一般地,我们会在action处理的时候使用业务逻辑接口帮助我们处理.即:在action中注入一个业务接口帮助我们完成action的职责.
曲终:处理完毕返回一个已经更新过的对象给视图.
II 关于Ioc 的无孔不入
我们由一个ApplicationContent.xml来配置我们的类.
如图,在各个层次上都有体现出Ioc的影子
接着再看配置文件
xml 代码
- <!---->xml version="1.0" encoding="UTF-8"?>
- <!---->>
- <beans>
- <bean id="LoginAction" class="com.starter.action.LoginAction">
- <property name="objUser">
- <ref bean="User" />
- property>
- <property name="userService">
- <ref bean="UserService" />
- property>
- bean>
- <bean id="UserService"
- class="com.starter.service.impl.UserServiceImpl">
- <property name="userDao">
- <ref bean="UserDAO" />
- property>
- bean>
- <bean id="UserDAO" class="com.starter.dao.impl.UserDAOImpl2" parent="baseDAO">bean>
- <bean id="User" class="com.starter.vo.User">bean>
- <bean id="DataSource"
- class="org.apache.commons.dbcp.BasicDataSource">
- <property name="driverClassName">
- <value>com.mysql.jdbc.Drivervalue>
- property>
- <property name="url">
- <value>jdbc:mysql://localhost:3306/bookstorevalue>
- property>
- <property name="username">
- <value>rootvalue>
- property>
- <property name="password">
- <value>rootvalue>
- property>
- bean>
- <bean id="baseDAO" class="com.starter.dao.BaseDAO" abstract="true">
- <property name="sessionFactory">
- <ref bean="SessionFactory"/>
- property>
- bean>
- <bean id="SessionFactory"
- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="dataSource">
- <ref bean="DataSource" />
- property>
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.dialect">
- org.hibernate.dialect.MySQLDialect
- prop>
- props>
- property>
- <property name="mappingResources">
- <list>
- <value>com/starter/vo/Book.hbm.xmlvalue>
- <value>com/starter/vo/Orders.hbm.xmlvalue>
- <value>com/starter/vo/User.hbm.xmlvalue>
- <value>com/starter/vo/Orderitem.hbm.xmlvalue>
- <value>com/starter/vo/Catelog.hbm.xmlvalue>
- list>
- property>
- bean>
- beans>
我们在服务层,数据访问层都利用了Ioc的注入功能来实现系统的分层以达到解藕的目的.
分享到:
- 2007-04-24 18:29
- 浏览 2201
- 评论(0)
- 论坛回复 / 浏览 (0 / 2683)
- 查看更多
相关推荐
总的来说,这个源码项目为初学者提供了一个学习 WebWork、Spring 和 Hibernate 整合的实例,有助于理解它们各自的作用和相互间的协同工作。通过深入研究,你可以提升自己的 Java Web 开发技能,为今后的项目开发打下...
尽管提供的压缩包中没有包含源码,但我们可以讨论WebWork与Spring整合的一般过程。首先,WebWork的Action类可以与Spring的bean管理集成,使得Action实例可以在Spring容器中被创建和管理。这可以通过在Spring配置文件...
4. **Spring与WebWork/iBatis整合**: - 将Spring与WebWork结合,Spring可以作为依赖注入容器,管理WebWork的Action和其他组件,提供更强大的控制反转和面向切面的能力。 - Spring与iBatis集成则可以利用Spring的...
【标题】"WebWork.Spring.Hibernate整合开发网络书城.第一讲" 提示我们这是一个关于在Java环境中,使用WebWork、Spring和Hibernate三大框架进行整合开发的教程,目标是构建一个网络书城应用。WebWork是一款优秀的MVC...
这个"webwork+spring+ibatis简单实例"提供了如何整合这三个框架来创建一个功能完整的应用程序的示例。以下是关于这三个框架及其整合方式的详细说明: **WebWork**: WebWork是一个轻量级的MVC(模型-视图-控制器)...
【源码分析】在"WebWork+Spring+Hibernate源码.rar"中,你可以期待找到这三个框架的整合示例代码。这些源码通常包含配置文件(如web.xml、applicationContext.xml、hibernate.cfg.xml)以及相应的Java类。配置文件会...
在本课程中,我们将深入探讨如何使用WebWork、Spring和Hibernate三大开源框架进行整合开发,构建一个完整的网络书城系统。这些技术都是Java Web开发领域中的核心组件,它们各自负责不同的职责,共同构建出高效、灵活...
5. **整合工作**:将Spring的ApplicationContext加载到WebWork中,这样WebWork的Action可以通过Spring获取依赖的对象。同时,Spring的事务管理器可以控制整个请求范围内的事务,包括Hibernate的操作。 这个配置过程...
NULL 博文链接:https://mysun.iteye.com/blog/378564
【标题】"Spring+WebWork+Ibatis"整合框架详解 在现代Web应用程序开发中,框架的集成使用能够显著提高开发效率和代码质量。"Spring+WebWork+Ibatis"是一个经典的组合,它将Spring的强大功能、WebWork的轻量级MVC...
在Struts2与Spring的整合中,通常会设置`struts.objectFactory`为`spring`,这样Struts2会使用Spring来创建Action实例。同时,Spring还可以用来管理Hibernate的SessionFactory和DAO,使得数据库操作更加方便。 ...
全书分22章,内容涵盖了Spring的核心机制、依赖注入、资源访问、AOP框架、事务框架、整合Hibernate、DAO支持、JDBC支持、MVC框架、整合第三方表现层技术、整合第三方MVC框架、远程访问支持、EJB访问和实现、Spring对...
这篇博客"Spring集成Struts、JSF、WebWork2"探讨了如何将这些框架与Spring进行整合,以构建更复杂、灵活的Web应用程序。 首先,让我们详细了解一下这三个框架: 1. **Struts**: Apache Struts 是最早的Java MVC...
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 切面的...