1

したがって、クラス C にインターフェイス B を実装させ、インターフェイス B にインターフェイス A を拡張させます。

私の aop-config.xml:

<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
      <tx:method name="*"/>
    </tx:attributes>
  </tx:advice>

  <aop:config>
    <aop:pointcut id="aMethods" expression="execution(* com.mypackage.A.*(..))"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="aMethods"/>
  </aop:config>

基本的に、インターフェイス A を実装するすべてのクラスのメソッドをトランザクション コンテキストで実行する必要があります。

ポイントカット式がインターフェイス A を指している場合は機能しないようですが、インターフェイス B を指している場合は機能します。

それについて何か考えはありますか?

4

1 に答える 1