问题描述:
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改进后代码: