gpt4 book ai didi

java - Aspectj ltw aop.xml

转载 作者:太空宇宙 更新时间:2023-11-04 14:25:51 24 4
gpt4 key购买 nike

我们如何使用 aop.xml 在纯 java 代码中定义切入点?这是一个示例代码,我试图在 aop.xml-> 中定义切入点1)这是java类

package testAOP;

public class HelloWorld {

public static void main(String[] args) {
HelloWorld app = new HelloWorld();
app.say("Hello world!");
app.add(11, 22);
}

private int add(int i, int j) { return i + j; }
public void say(String message) { System.out.println(message); }
}

2)我的方面类

package testAOP;

abstract aspect MyAspect {


protected abstract pointcut publicMethod();

Object around() : publicMethod() {
System.out.println(thisJoinPointStaticPart);
return proceed();
}
}

3)在主项目目录文件夹中创建了 META-INF 文件夹,即在包 testAOP->META-INF 中,其中包含 aop.xml

<?xml version="1.0" encoding="UTF-8"?>
<aspectj>
<aspects>
<concrete-aspect
name="testAOP.ConcreteAspect"
extends="testAOP.MyAspect"
>
<pointcut
name="publicMethod"
expression="execution(public * testAOP.HelloWorld.*(..))"
/>
</concrete-aspect>
</aspects>
<weaver options="-verbose">
<weaver options="-showWeaveInfo"/>
</weaver>
</aspectj>

已将具有 aop.xml 的 METAINF 文件夹添加到 java 构建路径,并在 Aspectj 加载时编织的运行配置中设置以下属性:

  • 在“主”选项卡中“项目”->“HelloWorldPlainJava”,主类->“testAOP.HelloWorld”
  • 在“参数”选项卡中 VM 参数 ->-javaagent:"D:\Eclipse_fldr\eclipse\plugins\org.aspectj.weaver_1.7.3.20130613144500-a.jar"
  • 在LTWclasspath选项卡中的用户条目中添加了HelloWorldPlainJava。

我错过了什么?为什么无法识别切入点?

最佳答案

能够解决我的问题,bin文件夹中缺少aop.xml,并且aspectjrt和aspect-weaver版本不匹配

关于java - Aspectj ltw aop.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26667578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com