经过12个小时的尝试后,我似乎无法在Tomcat上运行Spring 加载时间。
我想尝试@Entity
自动装配。
weaver
输出始终显示:
not weaving 'mypackage.MyEntity'
除非我也在其上使用@Configuration
注释。然后它会编织,但我会返回SPRIGNCGLIB
代理,其中所有属性都是null
。
如果我删除了@Configuration
注释(我认为它不应该存在)那么我就不会进行任何编织而@Autowired
属性始终是{{1} }。
这是我的配置:
的applicationContext-beans.xml文件
null
类/ META-INF / aop.xml文件
<context:component-scan base-package="my.package" />
<context:spring-configured />
<context:load-time-weaver />
MyEntity.java
<aspectj>
<weaver options="-Xreweavable">
<include within="my.package.*"/>
</weaver>
<aspects>
<aspect name="org.springframework.beans.factory.aspectj.AbstractInterfaceDrivenDependencyInjectionAspect"/>
</aspects>
context.xml中
package my.package;
@Entity
@Table(name = "user")
@Configurable
public class User {
private Encrypter encrypter; // THE CLASS I WANT INJECTED
@Autowired
public void setEncrypter(Encrypter encrypter) {
this.encrypter = encrypter;
}
}
Tomcat <Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
文件夹(我不确定它是否需要这两个):
应用lib
文件夹包含:
我尝试用
启动Tomcat WEB-INF/lib
但它没有帮助,根据Spring LTW documentation,-javaagent:D:/my/path/to/server/apache-tomcat-8.0.9/lib/spring-instrument-4.2.1.RELEASE.jar
片段是首选方法。
有没有人有任何想法?