【发布时间】:2015-07-28 10:16:16
【问题描述】:
我在带有 spring 的 JAX-RS (Jersey2) 应用程序中使用休眠作为 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/>
到我的 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'
我真的很绝望,因为我已经尝试了所有我能想到/在互联网上找到的东西,而且服务永远不会自动连接。
【问题讨论】:
标签: spring hibernate tomcat aspectj jersey-2.0