少し前に、Spring AOPを使用してトランザクショナルなメソッドを定義するアプリケーションを作成しました。私は今、これがどれほど素晴らしいアイデアであったかについて考え直しています。私はマイナーなリファクタリング (メソッド シグネチャの変更など) の後に数回ヒットしましたが、これはもちろん、実際に問題が発生するまで明らかになりません (そして、論理的に一貫性のないデータベースがあります)。
だから私はいくつかのことに興味があります:
- 他の人は明示的なトランザクション管理に戻ることを決めましたか (例:
@Transactional
注釈を介して)? - 何かが「壊れている」かどうかを識別するのに役立つ、ビルド プロセスの一部として使用できる便利なツールはありますか?
- 人々が AOP を使用してトランザクションを管理している場合、私が犯した間違いを回避するためにどのような手順を踏んでいますか?
私は IntelliJ IDEA を使用しています。これにより、装飾されたメソッドを参照できXML
、メソッド名の変更とともに Spring 構成をリファクタリングできますが、これは必ずしも十分ではありません (たとえば、間違った場所のメソッドにパラメーターを追加すると、アスペクトが起動するかどうかに影響する可能性があります)。