spring 与hibernate 的 整合 源码分析
2011-01-17 15:37
531 查看
首先使用 spring和 hibernate 的整合 要熟练 这是必须的 !本人也是刚刚看源码》不足地方!大家多提意见啊!
其实 spring和hibernate的整合就是spring-orm.jar和 hibernate3.jar这两个包中分析:
好了 首先在 spring-orm.jar这的包中:
我们在写dao层的时候大家习惯性的 让我们的dao层继承HibernateDaoSupport 这的类。在这个类中大家发现没有其实这个类中 有SessionFactory属性和hibernateTemplate属性分别有他们的get/set方法:
public final void setSessionFactory(SessionFactory sessionFactory) {
>>>>>>>>>省略:
}
和
public final void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
也就是说 我们可以往我们的dao中注入sessionFactory或者hibernateTemplate 其实 。
hibernateTemplate类继承了HibernateAccessor类 和实现了HibernateOperations接口,
在HibernateAccessor类中有SessionFactory的get/set方法,我个人建议大家将SessionFactory
放到hibernateTemplate中 再将其放入到HibernateDaoSupport中.(其实两者差别不大几乎没有差别只是编程的习惯问题吧!个人的认为这样让我们的更能很好的去做spring的依赖注入)。
接下来就是hibernateTemplate的工作了 。
hibernateTemplate其实就是hibernate的工作了。
在hibernate3.jar中 有一个上下文的包叫context包,这个包中的所有的接口都是上下文使用的。其中有一个CurrentSessionFactory的接口 spring就是通过这个接口和hibernate在线程上(也是就是事务的控制)整合的。
spring事务的控制……下回再说》
其实 spring和hibernate的整合就是spring-orm.jar和 hibernate3.jar这两个包中分析:
好了 首先在 spring-orm.jar这的包中:
我们在写dao层的时候大家习惯性的 让我们的dao层继承HibernateDaoSupport 这的类。在这个类中大家发现没有其实这个类中 有SessionFactory属性和hibernateTemplate属性分别有他们的get/set方法:
public final void setSessionFactory(SessionFactory sessionFactory) {
>>>>>>>>>省略:
}
和
public final void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
也就是说 我们可以往我们的dao中注入sessionFactory或者hibernateTemplate 其实 。
hibernateTemplate类继承了HibernateAccessor类 和实现了HibernateOperations接口,
在HibernateAccessor类中有SessionFactory的get/set方法,我个人建议大家将SessionFactory
放到hibernateTemplate中 再将其放入到HibernateDaoSupport中.(其实两者差别不大几乎没有差别只是编程的习惯问题吧!个人的认为这样让我们的更能很好的去做spring的依赖注入)。
接下来就是hibernateTemplate的工作了 。
hibernateTemplate其实就是hibernate的工作了。
在hibernate3.jar中 有一个上下文的包叫context包,这个包中的所有的接口都是上下文使用的。其中有一个CurrentSessionFactory的接口 spring就是通过这个接口和hibernate在线程上(也是就是事务的控制)整合的。
spring事务的控制……下回再说》
相关文章推荐
- Spring与Mybatis整合的MapperScannerConfigurer处理过程源码分析
- Spring与Mybatis整合的MapperScannerConfigurer处理过程源码分析
- Spring与Hibernate结合的细节源码分析(一)
- Spring整合Hibernate,不用HibernateDaoSupport与HibernateTemplate而用Hibernate自己的api分析说明
- Spring整合Hibernate(来自传智播客视频,整个过程,包含所有源码)
- Jsp/Servlet整合Spring原理及源码分析
- Spring整合Hibernate,不用HibernateDaoSupport与HibernateTemplate而用Hibernate自己的api分析说明
- 【转】Java程序员从笨鸟到菜鸟之(八十一)细谈Spring(十)深入源码分析Spring之HibernateTemplate 和HibernateDaoSupport
- Java程序员从笨鸟到菜鸟之(八十一)细谈Spring(十)深入源码分析Spring之HibernateTemplate 和HibernateDaoSupport
- spring与mybatis整合源码分析
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- Spring源码分析总结——Mybatis的整合
- spring boot实战(第十四篇)整合RabbitMQ源码分析前言
- Java程序员从笨鸟到菜鸟之(八十一)细谈Spring(十)深入源码分析Spring之HibernateTemplate 和HibernateDaoSupport
- Spring与Mybatis整合的MapperScannerConfigurer处理过程源码分析
- 细谈Spring(九)深入源码分析Spring之HibernateTemplate 和HibernateDaoSupport
- Java程序员从笨鸟到菜鸟之(八十一)细谈Spring(十)深入源码分析Spring之HibernateTemplate 和HibernateDaoSupport
- ssh框架整合hibernate,spring,struts,dwr等技术过程分析
- Spring与Mybatis整合的MapperScannerConfigurer处理过程源码分析
- 【Spring】Spring&WEB整合原理及源码分析