springboot+springcache+shiro+Redis整合时@Cacheable@Transactional等注解失效的问题
Posted 斌凯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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改进后代码:
以上是关于springboot+springcache+shiro+Redis整合时@Cacheable@Transactional等注解失效的问题的主要内容,如果未能解决你的问题,请参考以下文章
使用springboot内置的缓存机制springcache
springboot+springcache+shiro+Redis整合时@Cacheable@Transactional等注解失效的问题