簡體   English   中英

Spring聲明式事務管理

[英]Spring declarative transaction management

在spring配置文件中,我公司的最后一位開發人員聲明為

 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource">
        <ref bean="autoCreateHocDS"/>
    </property>
</bean>

但是沒有編寫任何AOP或注釋(如@Transaction)來定義應在哪個類上應用它。

我在這里的第一個執行類是OCsAutoCreateHocJob,它在內部調用Service和dao類。

因此,我的疑問是事務管理將應用於類鏈的哪個級別,或者在未定義事務級別的情況下將不適用,或者事務管理將應用於所有類?

通常,您使用@Transaction注釋服務層,因為這是您執行業務邏輯(計算,數據操作等)的層,需要多次調用DAO層。 這樣,您可以使用一個事務來處理一堆數據庫方法,其中,您可以回滾所有發生的數據庫操作,以防發生錯誤。

<!-- proxy-target-class is set to true to use transactional scope -->
    <tx:annotation-driven proxy-target-class="true" transaction-manager="tomcatTransactionManager" />

<!-- Transaction Manager -->
    <bean id="tomcatTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="myDataSource" />
    </bean>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM