记录一下最近在学习Spring中遇到的一些坑...希望对遇到相同问题的小伙伴有帮助!
最近在做AOP通过agent类加载修改class实现增强,但IDEA中在VM options中添加 -javaagent参数增强无法生效,下面说说我的解决方法。
简单说一下,我的程序就简单写了2个方法(连接点)和一个Aop切面类
然后运行之前在VM options中添加 -javaagent参数
运行程序之后,没有抛异常,程序正常执行,但增强就是无法实现...
然后我就先检查程序,添加aspectj-maven-plugin 插件,通过ajc编译器跑一遍程序,发现是可以实现增强的,说明程序没问题,然后我就修改-javaagent参数,我先故意改错路径,发现路径错误是会报异常的,得出结论是参数也没有问题的。这下就苦恼了,之后各种找解决方法,真的无法烦恼...(不怕程序抛异常,最怕程序运行没问题但达不到效果...很难定位问题出在哪...)后来准备把程序打包在命令行试一一遍,由于VM options在命令行不太会使用,然后就在网上搜了一下,无意中发现了解决方法,不说那么多了,解决方法👇
在resources/META-INF/下添加一个aop.xml文件
运行程序,增强实现,问题解决...