5

私の側面は次のとおりです。

@Aspect
public class SomeAspect{
    //define pointcuts
    // define Advices pertaining to pointcuts
}

私のaspect-configxmlファイル:

<?xml ...?>
  <beans ...
   xmlns:aop
   xmlns:context ..>
      <bean id="someAspect" class="...SomeAspect"/>
      <aop:aspectj-autoproxy />

  </beans>

これは完全に正常に実行されます

私が必要とするもの:

上記のconfigxmlファイルに示されているように、各アスペクトのBean定義の記述を削除したいと思います。

私は次のことを試しました:

私のクラスがBeanおよびアスペクトとしてピックアップされることを期待して、私のアスペクトを含むそれぞれのパッケージに追加@ComponentSomeAspectれたxmlに追加されました。<context-component-scan>しかし、私のアスペクトはまったく取り上げられていませんでした。

ポインタはありますか?

4

1 に答える 1

4

context:component-scan要素にはサブ要素があり、スキャンで取得するために使用する注釈クラスを含めるために使用できます。

context:include-filter要素とその属性を見てください。

<context:component-scan base-package="my.package.to.scan">
    <context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect"/>
</context:component-scan>

あなたが試したことはうまくいくと思いますが、あなたがやったようにそれを正確に見なければ、確かに言うのは難しいです。

于 2013-01-04T23:22:24.313 に答える