不久前,我编写了一个应用程序,它使用Spring AOP来定义哪些方法是事务性的。我现在正在重新考虑这是一个多么棒的主意。在一次小的重构(更改方法签名等)之后,我被击中了几次,这当然不会变得明显,直到实际出现问题(并且我有一个逻辑上不一致的数据库)。
所以我对一些事情感兴趣:
- 其他人是否决定恢复到显式事务管理(例如通过
@Transactional
注释)? - 我可以在构建过程中使用有用的工具来帮助确定是否有任何东西被“破坏”了吗?
- 如果人们使用 AOP 来管理事务,他们会采取哪些步骤来避免我所犯的错误?
我正在使用 IntelliJ IDEA,它允许您浏览装饰方法,并将重构 SpringXML
配置以及方法名称更改,但这并不总是足够的(例如,将参数添加到错误位置的方法会影响方面是否触发)