有没有一种方法可以在AspectJ中启用加载时编织,而无需将Java代理参数传递给JVM?

问题描述 投票:0回答:2

我需要在spring应用程序的AspectJ中使用加载时间编织,从不同的来源可以看出,您必须将javaagent参数传递给JVM才能启用加载时间编织。

-javaagent:path/to/spring-aop-aspectj-ltw/spring-instrument-4.2.5.RELEASE.jar
-javaagent:path/to/spring-aop-aspectj-ltw/aspectjweaver-1.8.8.jar

我想知道在Spring应用程序中还有其他方法可以初始化它吗?

P.S我正在使用Gradle构建项目

java spring aspectj spring-aop load-time-weaving
2个回答
1
投票

在带@Configuration注释的类上使用以下内容。

@EnableLoadTimeWeaving(aspectjWeaving=ENABLED)

0
投票

我想不。由于必须重写代理,因此在加载任何应用程序类之前,您需要代理程序真正有助于编织。我认为@EnableLoadtimeWeaving配置只是告诉CGLIB不要为您的带注释的代码创建代理类,因为不再需要了。但是我不确定最后一部分是什么。当他们在类路径扫描期间找到代码时,也可能会告诉代理实际编织代码。

© www.soinside.com 2019 - 2024. All rights reserved.