私はセットアップするには、以下のXMLベースのトランザクション-AOPをプログラムでJavaの経由たい:プログラム型トランザクションAOP?
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:advisor id="managerTx" advice-ref="txAdvice" pointcut="execution(* *..service.*Manager.*(..))" order="2"/>
</aop:config>
は、これまでのところ、私は次のことを持っています。そして、おそらく私は、実際のアドバイスを設定することができAspectJPointcutAdvisor
とAspectJAroundAdvice
の組み合わせを使用して
AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
pointcut.setExpression("execution(* *..service.*Manager.*(..))");
:私はこのような表現のポイントカットを作成することができます。
しかし、tx
名前空間を裏付けるSpringコードを見ると、TransactionInterceptor
が作成されたようです。たぶん私はこれをすべて間違って見ている。
なぜ私はこれをしたいのですか?
私は春の構成をXMLから@Configurationクラスに移しましたが、tx名前空間の内容をどのように変換するかについては固執しています。 @EnableTransactionManagement
と@Transactional
アノテーションを使用していますが、上記のポイントカット式にマッチしたすべてのメソッドに注釈を追加するのは危険です。私は何かが見逃されている。