1
我们如何使用aop.xml在纯Java代码中定义切入点?这是在其中正在试图定义切入点一个示例代码aop.xml-> 1)这是java类Aspectj ltw aop.xml
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)已经创建在主项目目录文件夹的文件夹METAINF在包即testAOP-> METAINF它由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>
有添加具有的METAINF文件夹的10到Java构建路径和用于AspectJ装载时编织的运行配置有设置以下属性:
- 在主标签项目 - > HelloWorldPlainJava,主类 - > testAOP.HelloWorld
- 在Arguments选项卡VM参数 - > --javaagent:“D:\ Eclipse_fldr \ eclipse \ plugins \ org.aspectj.weaver_1.7.3.20130613144500-a.jar”
- 在用户条目的LTWclasspath选项卡中添加了HelloWorldPlainJava。
我错过了什么?为什么不认识切入点?