我们如何使用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加载时编织的运行配置中设置了以下属性:
我错过了什么?为什么不承认切入点?
答案 0 :(得分:0)
能够解决我的问题,bin文件夹中缺少aop.xml,并且版本与aspectjrt和aspect-weaver版本不匹配