1. 程式人生 > 其它 >Shiro Redis注入失敗,shiro導致redis不能注入

Shiro Redis注入失敗,shiro導致redis不能注入

 

================================

©Copyright 蕃薯耀 2022-04-09

https://www.cnblogs.com/fanshuyao/

 

一、問題描述

在使用Shiro後,原來正常使用的Redis注入失敗

 

 

二、Shiro Redis注入失敗原因

經測試發現,有注入問題的Service全部被shiro的realm所依賴:

@Component
public class ShiroRealm extends AuthorizingRealm{
 
    @Resource
    private SysUserService sysUserService;
}

上面的sysUserService被ShiroRealm 依賴,導致SysUserService 類中的RedisService注入失敗。

 

 

三、解決方案

shiro自定義的realm中引用的service採用延遲載入策略,加上@Lazy註解。

@Component
public class ShiroRealm extends AuthorizingRealm{
 
    @Resource
    @Lazy
    private SysUserService sysUserService;
 
}

另外,Spring中,有迴圈依賴問題的,也可以加@Lazy註解解決。

 

 

(時間寶貴,分享不易,捐贈回饋,^_^)

 

================================

©Copyright 蕃薯耀 2022-04-09

https://www.cnblogs.com/fanshuyao/