以下は私のために働いた:
という名前のファイルを作成します:aop.xml
ディレクトリの下META-INF
( persistence.xml
.
Bean 定義 (メイン プロジェクトの下) に webApplicationContext.xml
Spring アスペクト Bean を含めるように変更します。emf
src/java/resources
に関連するaspectj-maven-plugin
多くの依存関係を含めますpom.xml
。
Java 7コードをコンパイルすることをaspectjプラグインに伝えてください。そうしないと、デフォルトのAspectJ-1.6ウィーバーを使用して1.7コードを織り込もうとします。
1 - aop.xml
<!DOCTYPE aspectj PUBLIC
"-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<weaver>
<!-- only weave classes in our application-specific packages -->
<include within="com.example.*"/>
</weaver>
<aspects>
<!-- weave in just this aspect -->
<aspect name="com.example.aspect.NullifyNoResultExceptionAspect"/>
</aspects>
</aspectj>
2 - WebApplicationContext.xml
emf Bean は次のようになります。
<bean id="emf"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="za.org.serviceseta.model" />
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="${hibernate.showsql}" />
<property name="generateDdl" value="${jpa.generateDdl}" />
<property name="databasePlatform"
value="org.hibernate.dialect.MySQLDialect" />
</bean>
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="loadTimeWeaver">
<bean
class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver" />
</property>
</bean>
_一部のチュートリアルでは を含めるように指示されて<context:load-time-weaver />
いますが、これは toplink でのみ機能し、Spring では機能しないことに注意してください。春は豆が見たい。
3 - pom.xml - パート 1: jetty-maven-plugin
spring javaagent を使用するように指示する
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.0.0.M5</version>
<configuration>
<forkMode>once</forkMode>
<argLine>
-javaagent:"${settings.localRepository}/org/springframework/spring-instrument/${spring.framework.version}/spring-instrument-${spring.framework.version}.jar"
</argLine>
....
3 - pom.xml - パート 2:aspectj-maven-plugin
<project>
....
<properties>
<aspectj.version>1.7.2</aspectj.version>
<!-- note that AspectJ warns you that it prefers 1.6.11, but this works -->
.....
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<showWeaveInfo>true</showWeaveInfo>
<source>1.7</source> <!-- need these for Java 7! -->
<target>1.7</target> <!-- need these for Java 7! -->
<Xlint>ignore</Xlint>
<complianceLevel>1.7</complianceLevel> <!-- need these for Java 7! -->
<encoding>UTF-8</encoding>
<verbose>false</verbose>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>3.2.1.RELEASE</version>
</dependency>
</dependencies>
</plugin>
3 - pom.xml パート 3: 依存関係
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>3.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-agent</artifactId>
<version>2.5.6</version>
</dependency>
私が何かを残した場合は、お気軽にコメントしてください。