浅谈spring对hibernate的封装

来源:互联网 发布:胡杨网络 编辑:程序博客网 时间:2024/04/29 08:34

spring对hibernate的封装使用对数据库的操作更方便,spring进一步简化了hibernate的函数.
用spring进行操作无须显式的打开session,显式的开始事务,关闭事务,关闭session

基于依赖注入的SessionFactory管理机制.SessionFactory是执行持久化操作的核心组件,传统Hibernate
应用中,SessionFactory必须手动创建;通过依赖注入,代码无须关心SessionFactory.SessionFactory
的创建,维护由BeanFactory负责管理.

更优秀的Session管理机制.Spring提供"每事务一次Session"的机制.该机制能大大提高系统性能,而且
Spring对Session的管理是透明的,无须在代码中操作Session.

统一的事务管理,声明式事务能极大的简化代码的繁琐度.而且使代码更清晰.

在代码方面,HibernateTemplate类简化了Hibernate对持久层的操作.

spring2.0对hibernate的封装主要包括两个包
org.springframework.orm.hibernate3
org.springframework.orm.hibernate3.support

org.springframework.orm.hibernate3中重要的类包括
HibernateCallback
HibernateInterceptor
HibernateOperations
HibernateTemplate
HibernateTransactionManager
SessionFactoryUtils
SessionHolder

org.springframework.orm.hibernate3.support中重要的类包括
HibernateDaoSupport


HibernateTemplate中大部分简化Hibernate的方法都是利用 HibernateCallback 匿名内部类
来进行操作,Spring已经利用HibernateCallback简化了许多方法,如果你有自己的需要,你可以
自己利用HibernateCallback进行操作Hibernate的方法(具体使用见spring2.0源代码).

spring2.0的思想是IOC和AOP,在spring对Hibernate的封装中,大量使用了这两个思想,把持久层
和业务层用XML文件进行分离就是利用了IOC,在对事务管理方面就利用了AOP.

spring的核心就是IOC和AOP,在spring2.0中,spring对许多现在流行的框架进行了封装,其实就是
把这两种思想融入进去.