7
A
回答
8
是的,使用aop:config
和tx:advice
。例如:
<aop:config>
<aop:pointcut id="serviceMethods"
expression="execution(* com.package.service..*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
3
註釋是標記應該在事務中執行方法的最佳選擇。這對於Spring和EJB 3都是推薦的。
XML方法需要更多的配置,不是重構友好的,您必須在配置中看到某個方法是否將在事務中執行。
由於基於註釋的事務支持是大多數開發人員的首選,而且您不喜歡使用Spring的@Transactional
註釋,所以我會建議您使用自定義註釋。
這時你有兩種選擇:
- 讓你自定義註解擴展Spring的
@Transactional
和Spring配置使用<tx:annotation-driven />
元素。這很容易,只需要更新一個註釋來刪除Spring依賴項。 - 創建一個在註釋方法之前和之後執行邏輯的攔截器。以Spring作爲容器,您應該在攔截器的前後委託您的首選
PlatformTransactionManager
實施的事務處理。
我已經寫了如何創建前,標有註釋here的方法後,增加了邏輯的攔截器。並演示了您必須在PlatformTransactionManager here上使用哪些方法。
我希望這有助於!
相關問題
- 1. Spring @Transactional配置xml
- 2. Spring @Transactional註釋的嚴格替代
- 3. Spring的替代Apache Commons配置
- 4. @Transactional註釋的替代
- 5. Spring @Transactional只讀
- 6. Spring @Transactional邊界
- 7. 只能激活@Transactional使用Java配置
- 8. Spring:在Java配置中定義自定義@Transactional行爲
- 9. 爲休眠和@Transactional配置spring數據源
- 10. 替代長URI來配置Spring Bean的駱駝端點?
- 11. Spring @Transactional和JDBC autoCommit
- 12. Spring 4 @Transactional和@Aspect
- 13. hibernate session.flush with spring @transactional
- 14. Spring @Transactional不回滾
- 15. spring-hibernate transactional dont rollback
- 16. 對於Spring中的只讀查詢,@Transactional(readOnly = true)的替代方法是什麼?
- 17. 離子配置替代品?
- 18. 在Spring中替換Beans.xml配置
- 19. Spring-security.xml基於代碼的配置
- 20. 基於代碼的Spring安全配置
- 21. 如何在使用@Transactional註釋時配置我的Spring-JUnit測試?
- 22. Spring - 啓用/禁用@Transactional取決於正在使用的配置文件
- 23. JPA/JTA/@Transactional Spring註釋
- 24. Spring @Transactional只讀傳播
- 25. 在Scala中使用Spring @Transactional
- 26. Spring data @Transactional不回滾
- 27. Spring + JPA @Transactional沒有提交
- 28. Spring MVC htmlspecialchars()替代
- 29. 的WebPack替代RequireJS地圖配置
- 30. 配置:: getInstance的CakePHP 2.0替代方案?
是的,你可以在這裏看到不同的可能性:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html#transaction-declarative – 2010-06-23 07:41:39