AOP无法切入同类调用方法解决办法

Posted lzj123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AOP无法切入同类调用方法解决办法相关的知识,希望对你有一定的参考价值。

问题:当AOP切入一个类的所有方法时,该类中的方法互相调用则只会增强最外层方法,被调用的方法不会增强

解决办法如下:

1.spring版本或较老的spring boot版本

解决方法是在applicationContext.xml中添加一段<aop:aspectj-autoproxy proxy-target-class="true"expose-proxy="true"/> 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
 
    <aop:aspectj-autoproxy proxy-target-class="true" expose-proxy="true"/>
 
</beans>

2.spring boot 版本

在ApplicationMain启动类加入@EnableAspectJAutoProxy(proxyTargetClass=true,exposeProxy=true)

以上是关于AOP无法切入同类调用方法解决办法的主要内容,如果未能解决你的问题,请参考以下文章

2018第17周总结

Spring定时器调用Hibernate方法无法获得SessionFactory的解决办法

Linux/Centos 解决安装oracle-11g数据库无法远程调用图形化安装界面的办法

jQgrid单元格编辑最后一个无法自动保存解决办法

Spring中的AOP

spring aop影响dubbo返回值问题解决