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

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

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

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

②Spriingboot开启暴露aop代理

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

例如:

当前方法:

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

调用另一个方法:

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

另一个方法:

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

05-11 18:26