Spring Aop没法代理new的对象只能代理ioc容器内的bean,导致有些日志没法记录。

改成aspectJ做代理

1、aspectJ做代理,因为AspectJ是在编译时织入,Aop是在运行时织入。

2、AspectJ可以在所有域对象中应用,Aop只能应用于由 Spring 容器管理的 bean。

3、AspectJ是静态代理,Aop由动态代理JDK代理、CGLib代理。

4、AspectJ可以代理call和execution等,Aop只能代理点execution。(call捕获的joinpoint是签名方法的调用点,而execution捕获的则是执行点)


曾规则
41 声望4 粉丝

Vue