有时 类 在加载时编织时没有编织
Sometimes classes not get woven during load time weaving
我有一些 类 标有带有 @Autowired 字段的 @Configurable 注释,其中一些工作正常,但其他一些由于字段未正确获取 @Autowired 而抛出 NullPointerException。
我的配置是这样的
@Configuration
@EnableSpringConfigured
@EnableLoadTimeWeaving(aspectjWeaving = AspectJWeaving.ENABLED)
@EnableAsync(mode = AdviceMode.PROXY, proxyTargetClass = true)
@Import({
...
})
@ComponentScan(
basePackageClasses = {
...
}
)
public class RootConfig implements AsyncConfigurer {
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="aero.geoscan..*"/>
</weaver>
</aspectj>
Spring 可能会最近加载 weaver bean,因此不会处理所有必需的 类。
尝试将 @DependsOn("loadTimeWeaver")
添加到您的@Configuration。
如果没有帮助,请将 <weaver options="-verbose -debug -showWeaveInfo">
添加到您的 aop.xml。它将通过提供额外的日志来帮助解决问题
我有一些 类 标有带有 @Autowired 字段的 @Configurable 注释,其中一些工作正常,但其他一些由于字段未正确获取 @Autowired 而抛出 NullPointerException。
我的配置是这样的
@Configuration
@EnableSpringConfigured
@EnableLoadTimeWeaving(aspectjWeaving = AspectJWeaving.ENABLED)
@EnableAsync(mode = AdviceMode.PROXY, proxyTargetClass = true)
@Import({
...
})
@ComponentScan(
basePackageClasses = {
...
}
)
public class RootConfig implements AsyncConfigurer {
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="aero.geoscan..*"/>
</weaver>
</aspectj>
Spring 可能会最近加载 weaver bean,因此不会处理所有必需的 类。
尝试将 @DependsOn("loadTimeWeaver")
添加到您的@Configuration。
如果没有帮助,请将 <weaver options="-verbose -debug -showWeaveInfo">
添加到您的 aop.xml。它将通过提供额外的日志来帮助解决问题