[英]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.