中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring事務如何配置

發布時間:2021-12-07 11:42:57 來源:億速云 閱讀:139 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關spring事務如何配置的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

采用這種配置策略,完全可以避免增量式配置,所有的事務代理由系統自動創建。容器中的目標bean自動消失,避免需要使用嵌套bean來保證目標bean不可被訪問。
這種配置方式依賴于Spring提供的bean后處理器,該后處理器用于為每個bean自動創建代理,此處的代理不僅可以是事務代理,也可以是任意的代理,只需要有合適的攔截器即可。這些是AOP框架的概念,筆者在此處不對AOP進行深入介紹。讀者只需了解這種事務代理的配置方式即可。
下面是采用BeanNameAutoProxyCreator配置事務代理的配置文件:

Xml代碼

  1. <?xmlversion="1.0"encoding="gb2312"?>  

  2. <!--    Spring配置文件的文件頭,包含DTD等信息--&gt  

  3. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  

  4.      "http://www.springframework.org/dtd/spring-beans.dtd">  

  5. <beans>  

  6.    <!--定義數據源--&gt  

  7.    <beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">  

  8.        <!--    定義數據庫驅動--&gt  

  9.            <propertyname="driverClassName"><value>com.mysql.jdbc.Drivervalue>property>  

  10.        <!--    定義數據庫url--&gt  

  11.            <propertyname="url"><value>jdbc:mysql://localhost:3306/springvalue>property>  

  12. <!--    定義數據庫用戶名--&gt  

  13.            <propertyname="username"><value>rootvalue>property>  

  14.        <!--    定義數據庫密碼--&gt  

  15.            <propertyname="password"><value>32147value>property>  

  16.    bean>  

  17.    <!--定義一個hibernate的SessionFactory--&gt  

  18. <beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  

  19.        <!--    定義SessionFactory必須注入DataSource--&gt  

  20.            <propertyname="dataSource"><reflocal="dataSource"/>property>  

  21.            <propertyname="mappingResources">  

  22.            <list>  

  23.                <!--以下用來列出所有的PO映射文件--&gt  

  24.                <value>Person.hbm.xmlvalue>  

  25.            list>  

  26.            property>  

  27.            <propertyname="hibernateProperties">  

  28.            <props>  

  29. <!--此處用來定義hibernate的SessionFactory的屬性:  

  30. 不同數據庫連接,啟動時選擇create,update,create-drop-->  

  31.            <propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialectprop>  

  32.            <propkey="hibernate.hbm2ddl.auto">updateprop>  

  33.        props>  

  34.        property>  

  35.    bean>  

  36.    <!--    定義事務管理器,使用適用于Hibernte的事務管理器--&gt  

  37. <beanid="transactionManager"  

  38.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  

  39.            <!--    HibernateTransactionManager    bean需要依賴注入一個SessionFactory bean的引用--&gt  

  40.            <propertyname="sessionFactory"><reflocal="sessionFactory"/>property>  

  41. bean>  

  42.  

  43.    <!--    配置事務攔截器--&gt  

  44. <beanid="transactionInterceptor"  

  45. class="org.springframework.transaction.interceptor.TransactionInterceptor">  

  46.        <!--    事務攔截器bean需要依賴注入一個事務管理器 --&gt  

  47.        <propertyname="transactionManager"ref="transactionManager"/>  

  48.        <propertyname="transactionAttributes">  

  49.            <!--    下面定義事務傳播屬性--&gt  

  50.            <props>  

  51.                <propkey="insert*">PROPAGATION_REQUIREDprop>  

  52.                <propkey="find*">PROPAGATION_REQUIRED,readOnlyprop>  

  53.                <propkey="*">PROPAGATION_REQUIREDprop>  

  54.            props>  

  55.        property>  

  56.    bean>  

  57. <!-- 定義BeanNameAutoProxyCreator,該bean是個bean后處理器,無需被引用,因此沒有id屬性  

  58. 這個bean后處理器,根據事務攔截器為目標bean自動創建事務代理  

  59.     <beanclass="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  

  60.            指定對滿足哪些bean name的bean自動生成業務代理 -->  

  61. <propertyname="beanNames">  

  62.            <!--    下面是所有需要自動創建事務代理的bean--&gt  

  63.            <list>  

  64.                <value>personDaovalue>  

  65.            list>  

  66.            <!--    此處可增加其他需要自動創建事務代理的bean--&gt  

  67.        property>  

  68.        <!--    下面定義BeanNameAutoProxyCreator所需的事務攔截器--&gt  

  69.        <propertyname="interceptorNames">  

  70.            <list>  

  71.                <value>transactionInterceptorvalue>  

  72.                    <!-- 此處可增加其他新的Interceptor --&gt  

  73.            list>  

  74.        property>  

  75.    bean>  

  76.    <!--定義DAO Bean ,由于BeanNameAutoProxyCreator自動生成事務代理--&gt  

  77.    <beanid="personDao"class="lee.PersonDaoHibernate">  

  78.        <propertyname="sessionFactory"><reflocal="sessionFactory"/>property>  

  79. bean>  

  80. beans>  

感謝各位的閱讀!關于“spring事務如何配置”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙门县| 吐鲁番市| 五河县| 东台市| 嵩明县| 平邑县| 庆元县| 洛南县| 延津县| 馆陶县| 清新县| 乌兰察布市| 枞阳县| 莱芜市| 绥德县| 延边| 辽源市| 临海市| 唐河县| 开阳县| 玉溪市| 丰都县| 眉山市| 天等县| 福鼎市| 呼玛县| 克拉玛依市| 庆阳市| 治县。| 闽侯县| 融水| 赫章县| 吉林市| 叶城县| 临清市| 汽车| 宁阳县| 简阳市| 达拉特旗| 广州市| 商南县|