项目配置shiro原缓存注解失效

Posted 水流花落

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目配置shiro原缓存注解失效相关的知识,希望对你有一定的参考价值。

项目用springboot + shiro + ehcache @cacheable 注解不起作用原因 

Shiro框架初始化比Spring框架的某些部件早,导致使用@Autowire注入Shiro框架的某些类不能被Spring正确初始化。

https://stackoverflow.com/questions/21512791/spring-service-with-cacheable-methods-gets-initialized-without-cache-when-autowi

百度到的助力的博客

http://blog.csdn.net/elonpage/article/details/78965176

解决办法

1:在Shiro框架中注入Bean时,不使用@Autowire,使用ApplicationContextRegister.getBean()方法,手动注入bean。保证该方法只有在程序完全启动运行时,才被注入。

2:使用@[email protected]注解,设置注入到Shiro框架的Bean延时加载(即在第一次使用的时候加载)

我只尝试了第一种

总之把shiro相关的类中用到的spring管理的类不用自动注入即可

对于这样的问题解决起来真心觉得无力。自己对源码看不懂,也看不过来抓不住重点。百度又作用有限,真心觉得编程就是门玄学了。

以上是关于项目配置shiro原缓存注解失效的主要内容,如果未能解决你的问题,请参考以下文章

不懂就问SpringFramework中的注解声明式事务怎么被Shiro搞失效了

shiro @RequiresRoles 和 @@RequiresPermissions 注解失效问题

Spring Boot 项目中配置多数据源@Transactional注解失效问题

springboot shiro jwt demo实战项目

解决 @RefreshScope 导致定时任务注解 @Scheduled 失效

解决 @RefreshScope 导致定时任务注解 @Scheduled 失效