Spring boot 在AspectJ中添加关于最终方法的建议

Spring boot 在AspectJ中添加关于最终方法的建议,spring-boot,aspectj,spring-aop,final,Spring Boot,Aspectj,Spring Aop,Final,是否可以使用AspectJ为最终方法添加建议?我完全知道使用SpringAOP是不可能的。但是我找不到任何与AspectJ相关的内容。很抱歉,我想说的是:您想要使用AspectJ你为什么不试试呢?你得到结果的速度比在这里写一个问题并等待别人回答要快得多。你的问题格式也不适合,因为你没有发布任何你有问题的代码,你只是问一个一般性的问题 是的,可以使用AspectJ检测最终类和/或方法: 最终方法的驱动程序应用程序: package de.scrum\u master.app; 公共类应用程序{ 公

是否可以使用AspectJ为最终方法添加建议?我完全知道使用SpringAOP是不可能的。但是我找不到任何与AspectJ相关的内容。

很抱歉,我想说的是:您想要使用AspectJ你为什么不试试呢?你得到结果的速度比在这里写一个问题并等待别人回答要快得多。你的问题格式也不适合,因为你没有发布任何你有问题的代码,你只是问一个一般性的问题

是的,可以使用AspectJ检测最终类和/或方法:

最终方法的驱动程序应用程序:

package de.scrum\u master.app;
公共类应用程序{
公共最终无效doSomething(){}
公共静态void main(字符串[]args){
新应用程序().doSomething();
}
}
本机AspectJ语法中的方面:

package de.scrum\u master.aspect;
公共方面我的方面{
对象周围():执行(*doSomething()){
System.out.println(此连接点);
返回继续();
}
}
@AspectJ语法中的方面:

我确实更喜欢本机语法,但无论如何,出于某种未知的原因,有些人似乎更喜欢这种丑陋而冗长的版本,包括导入、抛出、显式声明的连接点实例和更复杂的处理方式:

package de.scrum\u master.aspect;
导入org.aspectj.lang.ProceedingJoinPoint;
导入org.aspectj.lang.annotation.Around;
导入org.aspectj.lang.annotation.Aspect;
@面貌
公共类MyAspect{
@围绕(“执行(*doSomething())”)
Advice周围的公共对象(ProceedingJoinPoint thisJoinPoint)抛出可丢弃{
System.out.println(此连接点);
返回此连接点。继续();
}
}
控制台日志:

这两种特性变体的效果相同:

执行(void de.scrum\u master.app.Application.doSomething())