springboot+springcache+shiro+Redis整合时@Cacheable、@Transactional等注解失效的问题

问题描述:

 1.springboot整合shiro之前@Cacheable、@Transactional等注解都可以正常使用;

 2.整合了shiro之后,自定义MyShiroRealm中注入RoleUserService时 RolerUservice中的@Cacheable、@Transaction都失效了。

   MyShiroRealm代码:

 

RoleUserService代码:

 原因:shiro和cache在引用service实例顺序问题,shiro引入应在cache后,

             shiro配置文件中引用realm属性bean中引用的service采用延迟加载策略。

解决方法:在MyShiroRealm注入RoleUserService时@Lazy注解(采用延迟加载策略)

MyShiroRealm改进后代码:

 



猜你喜欢

转载自www.cnblogs.com/binkai/p/9375102.html