码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-02-24 23:12:01      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:autowire   overflow   运行时   auto   over   http   ring   context   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:使用@Autowire+@Lazy注解,设置注入到Shiro框架的Bean延时加载(即在第一次使用的时候加载)

我只尝试了第一种

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

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

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

标签:autowire   overflow   运行时   auto   over   http   ring   context   shiro   

原文地址:https://www.cnblogs.com/shuiliuhualuo/p/8467761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!