SpringBoot整合Shiro使用Ehcache等緩存無效問題

前言

  1. 整合有緩存、事務的spring boot項目一切正常。
  2. 在該項目上整合shiro安全框架,發現部分類的緩存Cache不能正常使用。
  3. 然後發現該類的註解基本失效,包括事務Transaction註解。事務不能正常運行。

分析

  1. 註解失效的類,都是在shiro框架中(UserRealm)使用過@Autowire注入的類。
  2. 基本確定是shiro框架與spring框架的BeanFactory有所衝突,導致注入shiro框架的類不能被spring正確初始化。

以上參考

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

我的解決方法

1.比如使用Shiro時我們自定義了Realm,並在其中使用了
    @Autowired
    private UserService userService;
2.現在修改爲
    @Autowired
    @Lazy
    private UserService userService;

即可,還有方法,比如ApplicationContextRegister.getBean()手動注入Bean。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章