弹簧加载时间编织

时间:2015-09-28 08:52:19

标签: spring hibernate configurable load-time-weaving

经过12个小时的尝试后,我似乎无法在Tomcat上运行Spring 加载时间

  • Spring 4.2.1
  • Hibernate 4.3.11
  • Tomcat 8.09

我想尝试@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"/> 文件夹(我不确定它是否需要这两个):

  • 弹簧仪器4.2.1.RELEASE.jar
  • 弹簧Tomcat的织工-2.5.6.SEC03.jar

应用lib文件夹包含:

  • aspectjweaver-1.8.6.jar
  • 弹簧AOP-4.2.1.RELEASE.jar
  • 弹簧方面-4.2.1.RELEASE.jar

我尝试用

启动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片段是首选方法。

有没有人有任何想法?

0 个答案:

没有答案