1. 程式人生 > >(spring)什麼是宣告式事務,回滾事務

(spring)什麼是宣告式事務,回滾事務

開啟事務
—>>
修改sql-1
—>>
修改sql-2
—>>
修改sql-n
—>>
提交/回滾事務

該過程交由sping管理,解脫了事務程式碼。(宣告式事務 )

使用方式:
1.spring2.0:ProxyFactoryBean+XML
2.tx:advice+aop名稱空間—>一次配置永久有效
3.註解@Transactional—>註解控制(推薦!!!我在使用,比較可控)

事務方法巢狀:
宣告式事務獨有的概念。
傳播行為:propagation_required 當新事務加入進來時,如果有,則加入,沒有,則新建。(不怎麼懂,還沒用到)
什麼時候回滾事務:
丟擲執行期異常(RuntimeException)時。
so:要小心try catch。
配置宣告式事務(spring-service.xml):

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

<!--注入資料庫連線池-->
        <property name="dataSource" ref="dataSourse"/>

    </bean>

  <!--配置基於註解的宣告式事務,預設使用註解來管理事務行為-->
    <tx:annotation-driven
transaction-manager="transactionMana``` er"/>

為需要宣告式事務控制的service實現類方法新增@Transactional

  • 使用註解控制事務方法的優點:
    • 1:開發團隊達成一致約定,明確標註事務方法的程式設計風格。
    • 2:保證事務方法的執行時間儘可能短,不要穿插其他網路操作RPC/HTTP請求或者剝離到事務方法外部。
    • 3:不是所有的方法都需要事務,如只有一條修改操作,只讀操作不需要事務控制。