1. 程式人生 > >Spring管理 hibernate 事務配置的五種方式

Spring管理 hibernate 事務配置的五種方式

Spring配置檔案中關於事務配置總是由三個組成部分,DataSource、TransactionManager和代理機制這三部分,無論是那種配置方法,一般變化的只是代理機制這塊!

 

首先我建立了兩個類,一個介面一個實現:

Java程式碼   收藏程式碼
  1. package com.dao;  
  2. public interface UserDao {  
  3.     public
     void getUser();    
  4. }  

 

實現:

Java程式碼   收藏程式碼
  1. package com.dao.impl;  
  2. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;  
  3. import com.dao.UserDao;  
  4. public class UserDaoImpl extends HibernateDaoSupport implements UserDao {  
  5.     public void getUser(){        
  6.     }     
  7. }  

 

 

第一種:每個Bean都有一個代理:

Xml程式碼   收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  7.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  
  8.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">  
  9.     <!-- 資料來源 -->  
  10.     <bean id="dataSource"  
  11.         class="org.apache.commons.dbcp.BasicDataSource"  
  12.         destroy-method="close">  
  13.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  14.         <property name="url"  
  15.             value="jdbc:mysql://192.168.0.244:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />  
  16.         <property name="username" value="root" />  
  17.         <property name="password" value="root" />  
  18.         <!-- 連線池啟動時的初始值 -->  
  19.         <property name="initialSize" value="10" />  
  20.         <!-- 連線池的最大值 -->  
  21.         <property name="maxActive" value="10" />  
  22.         <!-- 最大空閒值.當經過一個高峰時間後,連線池可以慢慢將已經用不到的連線慢慢釋放一部分,一直減少到maxIdle為止 -->  
  23.         <property name="maxIdle" value="20" />  
  24.         <!--  最小空閒值.當空閒的連線數少於閥值時,連線池就會預申請去一些連線,以免洪峰來時來不及申請 -->  
  25.         <property name="minIdle" value="10" />  
  26.         <property name="defaultAutoCommit" value="true" />  
  27.     </bean>  
  28.     <!-- 會話工廠 -->  
  29.     <bean id="sessionFactory"  
  30.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  31.         <property name="dataSource" ref="dataSource" />  
  32.         <property name="mappingLocations">  
  33.             <list>  
  34.                 <value>classpath:/com/nms/entity/**/*.hbm.xml</value>  
  35.             </list>  
  36.         </property>  
  37.         <property name="hibernateProperties">  
  38.             <props>  
  39.                 <prop key="hibernate.dialect">  
  40.                     org.hibernate.dialect.MySQL5Dialect  
  41.                 </prop>  
  42.                 <prop key="hibernate.show_sql">true</prop>  
  43.                 <prop key="hibernate.format_sql">true</prop>  
  44.             </props>  
  45.         </property>  
  46.     </bean>      
  47.     <!-- 定義事務管理器 -->    
  48.     <bean id="transactionManager"  
  49.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  50.         <property name="sessionFactory" ref="sessionFactory" />  
  51.     </bean>      
  52.     <!-- 配置服務層 -->  
  53.     <bean id="userDaoAgency" class="com.dao.impl.UserDaoImpl">  
  54.         <property name="sessionFactory" ref="sessionFactory" />  
  55.     </bean>      
  56.     <bean id="userDao"    
  57.         class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">    
  58.         <!-- 配置事務管理器 -->    
  59.         

    相關推薦

    Spring管理 hibernate 事務配置方式

    Spring配置檔案中關於事務配置總是由三個組成部分,DataSource、TransactionManager和代理機制這三部分,無論是那種配置方法,一般變化的只是代理機制這塊!   首先我建立了兩個類,一個介面一個實現: Java程式碼&

    Spring管理 hibernate 事務配置方式

    Spring配置檔案中關於事務配置總是由三個組成部分,DataSource、TransactionManager和代理機制這三部分,無論是那種配置方法,一般變化的只是代理機制這塊! 首先我建立了兩個類,一個介面一個實現: Java程式碼  

    SSH深度歷險(六) 深入淺出----- Spring事務配置方式

    配置 處理 數據 data easy ont get 添加 由於 這對時間在學習SSH中Spring架構,Spring的事務配置做了具體總結。在此之間對Spring的事務配置僅僅是停留在聽說的階段,總結一下。總體把控。通過這次的學習發覺Spring的事務

    Spring事務配置方式事務傳播相關(不看後悔,一看必懂!)

    原文:http://blog.csdn.net/hjm4702192/article/details/17277669 前段時間對Spring的事務配置做了比較深入的研究,在此之間對Spring的事務配置雖說也配置過,但是一直沒有一個清楚的認識。通過這次的學習發覺Sprin

    spring事務配置方式

    資料庫提供了四種事務隔離級別, 不同的隔離級別採用不同的鎖類開來實現. 在四種隔離級別中, Serializable的級別最高, Read Uncommited級別最低. 大多數資料庫的預設隔離級別為: Read Commited,如Sql Server , Oracle. 少數資料庫預設的隔離級別為Repe

    spring整合hibernate事務管理配置

    連結歸納的很詳細。 首先在/WEB-INF/applicationContext.xml新增以下內容:<!-- 配置事務管理器 --> <bean id="transactionManager" class="org.springframework.

    Hibernate事務配置的幾方式

    為了保持資料的一致性和完整性,在程式設計中通常會引用到事務的概念。這裡就不對事務做一一講解,大家可以看我前面的一篇講事務的部落格java JDBC事務和JTA事務詳解。事務一般有兩種:程式設計式事務和宣告式事務;程式設計式事務就是將事務處理放在程式中,而宣告式事務則是通過配置

    springhibernate事務管理的區別及整合方式

    在談Spring事務管理之前我們想一下在我們不用Spring的時候,在Hibernate中我們是怎麼進行資料操作的。在Hibernate中我們每次進行一個操作的的時候我們都是要先開啟事務,然後進行資料操作,然後提交事務,關閉事務,我們這樣做的原因是因為Hibernate

    spring事務管理,xml配置和註解方式優先順序

    在spring中,對於事務的管理可以通過xml配置的方式去設定,也可以通過@Translation註解去設定,如果兩個同時設定了會怎麼樣呢? 測試方法: 1、在xml中設定事務的某個屬性值 2、採用註解設定與xml配置相反的屬性值 3、測試兩次,分別進行

    Spring事物配置方式

    前段時間對Spring的事務配置做了比較深入的研究,在此之間對Spring的事務配置雖說也配置過,但是一直沒有一個清楚的認識。通過這次的學習發覺Spring的事務配置只要把思路理清,還是比較好掌握的。 總結如下:

    Hibernate事務的幾配置方式

    為了保證資料的一致性,在程式設計的時候往往需要引入事務這個概念。事務有4個特性:原子性、一致性、隔離性、永續性。 事務的種類有兩種:程式設計式事務和宣告式事務。程式設計式事務就是將事務處理放在程式中,而宣告式事務則是通過配置檔案或者註解進行操作。

    spring 整合hibernate事物的三配置

    spring整合事物的三種配置 在配置宣告事事物前,首先建立一個maven jar專案,一下是目錄結構(1-0): pom.xml 如下(1-1): <dependencies> <dependency> <groupId>junit

    Java上帝之眼系列配置Spring專案檔案上傳兩方式(全解析)

    歡迎檢視Java開發之上帝之眼系列教程,如果您正在為Java後端龐大的體系所困擾,如果您正在為各種繁出不窮的技術和各種框架所迷茫,那麼本系列文章將帶您窺探Java龐大的體系。本系列教程希望您能站在上帝

    配置Spring專案上傳的兩方式(全解析)

    歡迎檢視Java開發之上帝之眼系列教程,如果您正在為Java後端龐大的體系所困擾,如果您正在為各種繁出不窮的技術和各種框架所迷茫,那麼本系列文章將帶您窺探Java龐大的體系。本系列教程希望您能站在上帝的角度去觀察(瞭解)Java體系。使Java的各種後端技術在你心中模組化;讓你在工作中能將Java各個技術瞭

    spring boot日誌配置方式

    方法一: <?xml version="1.0" encoding="UTF-8" ?> <configuration> <appender name="consoleLog" class="ch.qos.logback.core.

    Hibernate查詢資料的方式

    1.導航物件圖查詢:根據已經載入的物件,導航到其他物件。 例如,對於已經載入的Customer物件,呼叫它getOrders().iterator()方法就可以導航到所有關聯的Order物件,假如在關聯級別使用了延遲載入檢索策略,那麼首次執行此方法時,Hibernate

    spring資料來源配置方式

    配置Spring資料來源 不管採用何種持久化技術,都需要定義資料來源。Spring中提供了4種不同形式的資料來源配置方式: spring自帶的資料來源(DriverManagerDataSource)

    Spring管理Hibernate連線多個數據源配置檔案

    在這個配置中第一個property屬性配置目標資料來源,<map key-type="java.lang.String">中的key-type必須要和靜態鍵值對照類DataSourceMap中的值的型別相同;<entry key="Yxh" value-ref="yxhDataSource"

    面試題整理--開發中實現spring事務有5方式

    Spring+Hibernate的實質: 就是把Hibernate用到的資料來源Datasource,Hibernate的SessionFactory例項,事務管理器HibernateTransactionManager,都交給Spring管理。 那麼再沒整合之前Hiber

    spring配置事務管理器,事務配置

    <!-- 配置事務管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasou