あなたが投稿したものから、システムがロードされているときにすべてのクラスをウィービングする必要があるため、起動ペナルティが発生するロードタイムウィービングを使用しているように見えます。主な関心事が起動時間である場合は、コンパイル時ウィービングに切り替えることをお勧めします。これを行う方法の説明は、Springのドキュメント(第6章、セクション8)またはAspectJサイト(http://www.eclipse.org/aspectj/docs.php)にあります。
AspectJコンパイラを使用したコンパイル時ウィービングへの切り替えは比較的順調です。
<aop:aspectj-autoproxy/>
コンテキストファイルから表記を 削除し
ます。
- ビルドファイルにaspectJコンパイルステップを追加します。AspectJサイトでは、antプラグインを見つけることができるはずです。codehausにはmavenプラグインがあります。これが私たち両方の方法の例です。
Mavenの場合:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>
<configuration>
<verbose>true</verbose>
<source>1.6</source>
<target>1.6</target>
<complianceLevel>1.6</complianceLevel>
<showWeaveInfo>true</showWeaveInfo>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
Antの場合
<taskdef
resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties">
<classpath>
<pathelement location="${lib.dir}/AspectJ_1.6.8/aspectjtools.jar"/>
</classpath>
</taskdef>
<iajc aspectPath="${file.reference.spring-aspects.jar}; ${build.classes.dir}/path/to/custom/aspects"
classpath="${lib.dir}/AspectJ_1.6.8/aspectjrt.jar; ${javac.classpath}"
inpath="${build.classes.dir}"
destDir="${build.classes.dir}"
showWeaveInfo="true" />