1

<context:load-time-weaver/> 次の行を application-context.xml に追加しました。

META-INF\aop.xml次のファイルを作成しました。

<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>

    <weaver options="-verbose">
        <!-- only weave classes in our application-specific packages -->
        <include within="com.xxx.aspectj.*"/>
    </weaver>

    <aspects>
        <aspect name="com.xxx.aspectj.StandardAspect"/>
    </aspects>

</aspectj>

それが機能しているかどうかを簡単に確認するためのキャッチオールを含む側面:

@After("call (public * *(..))")
public void interceptEverything() {
    System.out.println("Hello");
}

しかし、何も起こらないようです。何かアイデアはありますか?

4

1 に答える 1

0

Removing the include within tag solved my problem.

I realized that I have misinterpreted the include within tag, I thought it had meant only weave aspects in the package listed, but it meant only weave aspects into classes in the package listed.

于 2016-07-20T17:10:36.970 に答える