Eee_xiang

导航

AOP方法增强自身内部方法调用无效 SpringCache 例子

开启注解@EnableCaChing,配置CacheManager,结合注解@Cacheable,@CacheEvit,@CachePut对数据进行缓存操作

缺点:内部调用,非Public方法上使用注解,会导致缓存无效。&& SpringCache是基于Spring AOP动态代理实现,同一个类中调用类中另一个方法,会导致另一个方法的缓存不能使用!

解决办法:通过再次代理调用(AopContext.currentProxy().getXXX),前提要开启暴露

<aop:aspectj-autoproxy expose-proxy="true"/><!—注解风格支持-->  

②Spriingboot开启暴露aop代理

 

例如:

当前方法:

调用另一个方法:

 另一个方法:

 

posted on 2018-11-23 09:28  Eee_xiang  阅读(665)  评论(0编辑  收藏  举报