版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Spring与Struts、Hibernate的集成本章目标掌握Spring与Hibernate的集成掌握Spring与Struts的集成掌握声明式事务本章简介前面我们学习了Spring“依赖注入”和“面向方面编程”的原理和简单应用。这些技术怎样用到我们的项目中呢?本章我们就以租房系统中的用户模块为例,学习如何使用Spring简化DAO层代码、与Hibernate集成、管理依赖关系和管理事务。还要掌握Spring与Struts1的集成,Spring与Struts2的集成将在上机部分讲述。使用Spring重新组装Web程序使用Spring管理依赖关系我们的程序依赖关系是这样的:Action依赖Biz,Biz依赖DAO,DAO依赖SessionFactory,SessionFactory依赖DataSource。如果使用Spring管理这些依赖关系,注入的方向刚好与依赖的方向相反Spring与Struts1集成我们知道,在Struts1中Action类的实例是由Struts创建的。如果要使用Spring管理Action对Biz的依赖,那么Action类就要由Spring来创建。那么,我们怎么对Struts说“Spring已经把ActionBean创建好了,拿过去用就可以了”呢?Struts可以以插件的方式扩展,我们利用Spring提供的ContextLoaderPlugln插件即可做到Spring和Struts无缝集成。具体的步骤如下:Spring与Struts1集成在Struts配置文件中配置插件在struts-config.xml中,需要把Spring配置文件的位置告知插件。classpath:applicationContext.xml表示到classpath下去找applicationContext.xml文件。如果Spring配置文件放在/WEB-INF/下,可以这样配置:value="/WEB-INF/applicationContext.xml"。如果有多个Spring配置文件,可以用逗号隔开,同时配置多个路径,如:value="/WEB-INF/applicationContext.xml,/WEB-INF/action.xml"。将Struts配置文件中所有Action类的type属性值都配置为“org.springfranqework.web.struts.DelegatingActionProxy”类型在Spring配置文件中配置UserAction,如示例代码11-10所示,注意这里<bean>没有id属
性了,而是name属性,而且name属性的值要与Struts配置中相应ActionBean的path属性一致。
另外一个做法是将业务逻辑放到DAO层实现,DAO层依据业务逻辑创建方法,编写复杂的业务逻辑处理代码,这样进行架构设计的系统很快就会尝到苦果。当参加项目的人员达到一定数量,或者项目开发周期到一定时间,或者项目维护到一定时间的时候,人们发现这些系统的代码已经变得千头万绪了,剪不断,理还乱。在软件生产大工厂时代,质量是软件的生命线,是客户源源不断的重要保障,是大把大把人民币的重要前提,是免于周末加班,凌晨两点被电话吵醒,不得不去紧急解决客户问题的护身符,是看着别人瞎忙半个月也平不了一张报表,自己却可以悠闲地品口香茶、翻两页闲书时心头暗存的侥幸。一定要随时保证你的软件逻辑清晰、规范易读。不要抱着侥幸的心理破坏规矩。概念完整性说起来很玄虚,但当你违背它的时候,它的反面就会变得形象而具体。声明式事务key表示匹配方法的“模式”,可以使用“*”通配符,例如,“add*”表示这条属性应用于add开头的方法。属性的值为PROPAGATION_REQUIRED,表示当前方法必须运行在一个事务环境中。如果一个现有事务正在运行中,该方法将运行在这个事务中,否则,就要开始一个新的事务。可选的值如下:PROPAGATION_MANDATORY,表示当前方法必须运行在一个事务上下文中,否则就抛出异常。PROPAGATION_NEVER,表示当前方法不应该运行在一个事务上下文中,否则就抛出异常。PROPAGATION_REQUIRESNEW,表示当前方法必须运行在自己的事务里。PROPAGATION_SUPPORTS,表示当前方法不需要事务处理环境,但如果有一个事务正在运行的话,这个方法也可以运行在这个事务里。Spring声明事务的方式Spring对分布式事务的配置方法进行了升级。配置过程更容易理解,而且我们可以在保持示例代码11-7配置代码不变的基础上给UserBizBean的方法增加事务支持。首先,我们要升级项目中Spring的版本:。添加Spring2.5的jar包,包括springjal、aspectjrt.jar、aspectjweaver.jar和cglibnodep-2.1_3jar。修改Spring配置文件,增加常用命名空间的声明,总结Spring为Hibernate开发提供了良好的支持,可以大大简化Hiberante的编码。
在Spring配置文件定义dataSource、SessionFactory再注入DAO中是开发中常用的做法。Spring依赖
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产法律顾问合同模板2024年
- 2024年土壤化验技术服务合同正规范本
- 教职工岗位聘用合同书范本
- 官方版婚姻解除协议书
- 无抵押担保借款合同样本
- 电脑租赁合同纠纷解决
- 工业品购销合同格式设计
- 上海市建筑施工合同格式
- 2024年汽配压铸产品项目资金需求报告代可行性研究报告
- 2024年国家公务员考试行测(副省级)真题及答案解析
- 广州地区穗建中验收表格完整
- 会务服务的合同范本(通用3篇)
- NB_T 10339-2019《水电工程坝址工程地质勘察规程》_(高清最新)
- 繁体校对《太上老君说常清静经》
- 关于统一规范人民防空标识使用管理的通知(1)
- 电缆振荡波局部放电试验报告
- 针对建筑工程施工数字化管理分析
- 多品种共线生产质量风险评价
- 【MBA教学案例】从“虾国”到“国虾”:国联水产的战略转型
- Unit-1--College-Life
- 医院车辆加油卡管理制度
评论
0/150
提交评论