我在JAX-RS (Jersey2)应用程序中使用hibernate作为JPA提供者。我正在尝试在JPA实体内自动装配一些业务服务。我在context.xml
中声明了一个加载器类<Context path="/">
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
</Context>
并将spring-instrument.tomcat.4.1.17.jar复制到tomcat/libs
我还添加了:
<context:load-time-weaver/>
到my applicationContext.xml
aop.xml位于resources/META-INF/aop.xml:
<!DOCTYPE aspectj PUBLIC
"-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<weaver options="-verbose -showWeaveInfo -XmessageHandlerClass:org.springframework.aop.aspectj.AspectJWeaverMessageHandler">
<include within="com.appolica.server.musyme.*"/>
</weaver>
</aspectj>
我已经尝试了web 3.0和2.5配置。还有tomcat 8+和7+。
实体类用@Configurable注释。
我在日志中得到的唯一东西是
Using a reflective load-time weaver for class loader: org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader
我有所有可能的aspectj和spring aop依赖项:
compile 'org.aspectj:aspectjrt:1.8.6'
compile 'org.aspectj:aspectjweaver:1.8.6'
runtime 'org.aspectj:aspectjweaver:1.8.6'
compile 'org.springframework:spring-aspects:4.1.7.RELEASE'
compile "cglib:cglib:2.2"
compile "org.springframework:spring-aop:4.1.7.RELEASE"
compile 'org.springframework:spring-instrument-tomcat:4.1.7.RELEASE'
compile 'org.springframework:spring-instrument:4.1.7.RELEASE'
我真的很绝望,因为我已经尝试了所有我能想到的/在互联网上找到的服务,但这些服务从来没有自动连接。
我猜有更多关于你的配置文件和代码的细节。但只有这个…我能问一下你有没有
<context:component-scan base-package="..... "/>
applicationContext.xml文件中的?