如何解决spring aop无法代理手动new的对象问题
Posted 曾规则
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决spring aop无法代理手动new的对象问题相关的知识,希望对你有一定的参考价值。
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捕获的则是执行点)
以上是关于如何解决spring aop无法代理手动new的对象问题的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot默认开启AOP,采用Cglib代理方式?(Spring AOP快速入门)
SpringBoot默认开启AOP,采用Cglib代理方式?(Spring AOP快速入门)