如何解决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的对象问题的主要内容,如果未能解决你的问题,请参考以下文章

动态代理3--Spring AOP分析

SpringBoot默认开启AOP,采用Cglib代理方式?(Spring AOP快速入门)

SpringBoot默认开启AOP,采用Cglib代理方式?(Spring AOP快速入门)

SpringBoot默认开启AOP,采用Cglib代理方式?(Spring AOP快速入门)

Spring Aop对Controller层拦截失效问题

spring初学总结思路