AspectJ使用过程中问题及解决办法

来源:互联网 发布:淘宝直播视频怎么删除 编辑:程序博客网 时间:2024/06/05 21:10

项目开发需要AspectJ,用了差不多两天的时间了解


核心部分一

public pointcut testAJ():

call(public void load()) &&target(org.apache.catalina.startup.Catalina)//tomcat源码函数

说明:

call(需要定位的函数)

target(目标类)

核心部分二

 before() : testAJ(){
System.out.println("before servlet service");
}
after() returning : testAJ() {
System.out.println("after servlet service");
}

说明:

before()在捕捉到的方法之前执行的函数

after()在捕捉到的方法之后执行的函数

原理:核心部分一用于捕捉函数,核心部分二用于处理捕捉函数后的动作


以上是基本原理,注意:如果aspectJ文件缺少包说明,在tomcat启动时就会报non aspect错误

我实现的是捕捉tomcat启动信息中的函数从而得到tomcat的基本信息方便程序的初始化

出现的问题是在日志中不显示执行了任何动作,后来发现是pointcut声明时出错,&&了不必要的条件,当该条件不满足时整体都不满足

看来细节决定成败,要细心。

原创粉丝点击