第1页共16页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共16页Spring+Hibernate整合Spring是一个轻量级的bean容器,它为业务对象(businessobjects)、DAO对象和资源对象(如:JDBC数据源或者HibernateSessionFactorie等)提供了IoC类型的装配能力
Spring通过使用一个xml格式的配置文件,为开发者提供了一种通过定制属性文件来手动管理单例对象或工厂对象的可选择性
由于Spring将非侵入性做为一个重要的目标,因此由Spring配置管理的bean均不需要依赖Spring自身的接口和类,就可以通过它们的bean属性完成配置
从而可以被应用到任何环境中,无论你开发的是一个J2EE的web应用还是一个桌面应用甚至只是一个applet都可以
在使用Hibernate的应用中,Spring对DAO对象通常的事务管理机制应该特别引起关注
它的目的就是分离数据访问和事务处理,使事务性业务对象不与任何特殊的数据访问或事务策略耦合在一起,从而不影响业务对象的可复用性
这种划分既可以经由事务模板(TransactionTemplate)用在java代码中编程的方式实现,也可以经由AOP的事务拦截器(一般用TransactionProxyFactoryBean)用在配置文件中声明的方式实现
无论是本地的Hibernate/JDBC事务,还是JTA事务都支持对象外的事务策略,这对于本地的无状态会话Bean是一个非常有用的选择
Spring的HibernateTemplate类提供了一个简单的方式实现了Hibernate-basedDAO对象,而不必关心如何获得Hibernate的Session实例,也不必关心多方参与的事务处理
无需使用try-catch块,也无需进行事务检查
一个简单的Hibernate