读书人

spring几种Dao支持配备

发布时间: 2012-10-12 10:17:04 作者: rapoo

spring几种Dao支持配置

事务的处理一般来说有两种方式:

? 一个是依赖特定的资源的事务:如通过JDBC,JTA,Hibernate Transaction。

? 还有一个就是依赖窗口的参数进行事务管理,像EJB容器事务

?

spring对于以上两种都有相应的实现,还提供了一些辅助类可供我们选择使用,如基于JDBC,JDO,HIBERNATE的扩展类.而对于依赖容器的参数化事务管理来说,spring体现出一它的优势,它本身也是一个容器,但相对EJB容器它来它显得很轻巧(当然在后来插件越来越多的情况下,我们需要摈弃一些我们不用的模块)。我们不用付出其他的代价,就可以通过spring实现容器的事务管理。

下面就来说说基于JDBC,HIBERNATE这两种方式的事务管理与非事务管理的配置:

?

?

取得source连接

首先对于一个DB操作,我们必须要取得DB连接,而在spring下取得这个连接的方式可以采用

1.JNDI

2.配置dataSource(spring方式)或者sessionFactory(hibernate)

且看下面代码:

对于JNDI可以参考如下实现:

        ?

        而另一个方式就是在hibernate.hbm.xml方式上进行配置:

          ?

          这个hibernate.cfg.xml方式可以利用myeclipseIDE导入hibernate功能时自动创建,如下例子:

            ?

            ?

            ?

            事务管理(transactionManager)的两种初始化方式:

            一种是根据dataSource来初始化我们的事务管理器,另一种则是根据sessionFactory(hibernate方式)来初始化我们的事务管理器:

            ?

              ?

              ?

              ?

              ?

              ?

              ?

              JDBC在spring下的事务与非事务方式

              ?

              1.非事务处理方式

              ???? jdbc在spring下的非事务方式很简单,它其实就是于JDBC的简单封装:

              ?

                      ?

                      而对于事务处理方式的参数化配置:

                        ?

                        ?

                        ?

                        总:

                        ?? 对于项目开发中,实际上经常会碰到spring与hibernate一起结合来进行参数化配置,但很多时候我们总是会分不清到底是哪个跟哪个。但其实我们只要掌握了,事务参数化配置的原理。如如何取得sessionFactory,它有几种方式。是否要引用datasource来建立,及事务管理器的各种参数化配置方式等等,总之,只要明白的其中的原理就不难解决配置上的这块问题了。

                        ?

                        转:http://www.iteye.com/topic/616032

读书人网 >软件架构设计

热点推荐