跟我学spring3(8-13)作者:jinnianshilongnian(8-13)页本书由ITeye提供的电子书DIY功能自动生成于2012-05-11目录1.spring[原创]1.1【第八章】对ORM的支持之8.1概述——跟我学spring3................................41.2【第八章】对ORM的支持之8.2集成Hibernate3——跟我学spring3......................61.3【第八章】对ORM的支持之8.3集成iBATIS——跟我学spring3..........................201.4跟我学spring3电子书下载..........................................................361.5【第八章】对ORM的支持之8.4集成JPA——跟我学spring3............................411.6【第九章】Spring的事务之9.1数据库事务概述——跟我学spring3.......................571.7【第九章】Spring的事务之9.2事务管理器——跟我学spring3..........................601.8【第九章】Spring的事务之9.3编程式事务——跟我学spring3..........................711.9【第九章】Spring的事务之9.4声明式事务——跟我学spring3.........................1081.10【第十章】集成其它Web框架之10.1概述——跟我学spring3.........................1221.11【第十章】集成其它Web框架之10.2集成Struts1.x——跟我学spring3..................1291.12【第十章】集成其它Web框架之10.3集成Struts2.x——跟我学spring3..................1411.13【第十章】集成其它Web框架之10.4集成JSF——跟我学spring3.......................1481.14【第十一章】SSH集成开发积分商城之11.1概述——跟我学spring3....................1561.15【第十一章】SSH集成开发积分商城之11.2实现通用层——跟我学spring3..............1621.16【第十一章】SSH集成开发积分商城之11.3实现积分商城层——跟我学spring3...........1821.17【第十二章】零配置之12.1概述——跟我学spring3.................................2131.18【第十二章】零配置之12.2注解实现Bean依赖注入——跟我学spring3..................2151.19【第十二章】零配置之12.3注解实现Bean定义——跟我学spring3.....................247页1.20java私塾的spring培训PPT(欢迎下载).............................................2661.21spring培训PPT(欢迎下载)......................................................2681.22【第十二章】零配置之12.4基于Java类定义Bean配置元数据——跟我学spring3..........2691.23【第十二章】零配置之12.4基于Java类定义Bean配置元数据——跟我学spring3..........2841.24【第十二章】零配置之12.5综合示例-积分商城——跟我学spring3.....................2991.25【第十三章】测试之13.1概述13.2单元测试——跟我学spring3......................3081.26【第十三章】测试之13.3集成测试——跟我学spring3...............................3211.27我对IoC/DI的理解...............................................................3371.28我对AOP的理解.................................................................344页1.1【第八章】对ORM的支持之8.1概述——跟我学spring3发表时间:2012-03-01关键字:spring8.1概述8.1.1ORM框架ORM全称对象关系映射(Object/RelationMapping),指将Java对象状态自动映射到关系数据库中的数据上,从而提供透明化的持久化支持,即把一种形式转化为另一种形式。对象与关系数据库之间是不匹配,我们把这种不匹配称为阻抗失配,主要表现在:•关系数据库首先不支持面向对象技术如继承、多态,如何使关系数据库支持它们;•关系数据库是由表来存放数据,而面向对象使用对象来存放状态;其中表的列称为属性,而对象的属性就是属性,因此需要通过解决这种不匹配;•如何将对象透明的持久化到关系数据库表中;•如果一个对象存在横跨多个表的数据,应该如何为对象建模和映射。其中这些阻抗失配只是其中的一小部分,比如还有如何将SQL集合函数结果集映射到对象,如何在对象中处理主键等。ORM框架就是用来解决这种阻抗失配,提供关系数据库的对象化支持。ORM框架不是万能的,同样符合80/20法则,应解决的最核心问题是如何在关系数据库表中的行和对象进行映射,并自动持久化对象到关系数据库。ORM解决方案适用于解决透明持久化、小结果集查询等;对于复杂查询,大结果集数据处理还是没有任何帮助的。目前已经有许多ORM框架产生,如Hibernate、JDO、JPA、iBATIS等等,这些ORM框架各有特色,Spring对这些ORM框架提供了很好的支持,接下来首先让我们看一下Spring如何支持这些ORM框架。8.1.2Spring对ORM的支持Spring对ORM的支持主要表现在以下方面:•一致的异常体系结构,对第三方ORM框架抛出的专有异常进行包装,从而在使我们在Spring中只看到DataAccessException异常体系;【第八章】对ORM的支持之8.1概述——跟我学spring3第4/355页•一致的DAO抽象支持:提供类似与JdbcSupport的DAO支持类HibernateDaoSupport,使用HibernateTemplate模板类来简化常用操作,HibernateTemplate提供回调接口来支持复杂操作;•Spring事务管理:Spring对所有数据访问提供一致的事务管理,通过配置方式,简化事务管理。Spring还在测试、数据源管理方面提供支持,从而允许方便测试,简化数据源使用。接下来让我们学习一下Spring如何集成ORM框架—Hibernate。原创内容,转载请注明出处【】【第八章】对ORM的支持之8.1概述——跟我学spring3第5/355页1.2【第八章】对ORM的支持之8.2集成Hibernate3——跟我学spring3发表时间:2012-03-01关键字:spring8.2集成Hibernate3Hibernate是全自动的ORM框架,能自动为对象生成相应SQL并透明的持久化对象到数据库。Spring2.5+版本支持Hibernate3.1+版本,不支持低版本,Spring3.0.5版本提供对Hibernate3.6.0Final版本支持。8.2.1如何集成Spring通过使用如下Bean进行集成Hibernate:•LocalSessionFactoryBean:用于支持XML映射定义读取:configLocation和configLocations:用于定义Hibernate配置文件位置,一般使用如classpath:hibernate.cfg.xml形式指定;mappingLocations:用于指定Hibenate映射文件位置,如chapter8/hbm/user.hbm.xml;hibernateProperties:用于定义Hibernate属性,即Hibernate配置文件中的属性;dataSource:定义数据源;hibernateProperties、dataSource用于消除Hibernate配置文件,因此如果使用configLocations指定配置文件,就不要设置这两个属性了,否则会产生重复配置。推荐使用dataSource来指定数据源,而使用hibernateProperties指定Hibernate属性。•AnnotationSessionFactoryBean:用于支持注解风格映射定义读取,该类继承LocalSessionFactoryBean并额外提供自动查找注解风格配置模型的能力:annotatedClasses:设置注解了模型类,通过注解指定映射元数据。packagesToScan:通过扫描指定的包获取注解模型类,而不是手工指定,如“cn.javass.**.model”将扫描cn.javass包及子包下的model包下的所有注解模型类。接下来学习一下Spring如何集成Hibernate吧:【第八章】对ORM的支持之8.2集成Hibernate3——跟我学spring3第6/355页1、准备jar包:首先准备Spring对ORM框架支持的jar包:org.springframework.orm-3.0.5.RELEASE.jar//提供对ORM框架集成下载hibernate-distribution-3.6.0.Final包,获取如下Hibernate需要的jar包:hibernate3.jar//核心包lib\required\antlr-2.7.6.jar//HQL解析时使用的包lib\required\javassist-3.9.0.GA.jar//字节码类库,类似于cgliblib\required\commons-collections-3.1.jar//对集合类型支持包,前边测试时已经提供过了,无需再拷贝该包了lib\required\dom4j-1.6.1.jar//xml解析包,用于解析配置使用lib\required\jta-1.1.jar//JTA事务支持包lib\jpa\hibernate-jpa-2.0-api-1.0.0.Final.jar//用于支持JPA下载slf4j-1.6.1.zip(),slf4j是日志系统门面(SimpleLoggingFacadeforJava),用于对各种日志框架提供给一致的日志访问接口,从而能随时替换日志框架(如log4j、java.util.logging):slf4j-api-1.