SpringBoot集成shiro,MyRealm中無法@Autowired注入Service的問題
網(wǎng)上說了很多諸如是Spring加載順序,shiroFilter在Spring自動裝配bean之前的問題,其實也有可能忽略如下低級錯誤。
在ShiroConfiguration中要使用@Bean在ApplicationContext注入MyRealm,不能直接new對象。
道理和Controller中調(diào)用Service一樣,都要是SpringBean,不能自己new。
錯誤方式:
@Bean(name = "securityManager") public SecurityManager securityManager() { DefaultWebSecurityManager manager = new DefaultWebSecurityManager(); MyRealm myRealm = new MyRealm(); manager.setRealm(myRealm); return manager; }
正確方式:
@Bean(name = "myRealm") public MyRealm myAuthRealm() { MyRealm myRealm = new MyRealm(); return myRealm; } @Bean(name = "securityManager") public SecurityManager securityManager(@Qualifier("myRealm")MyRealm myRealm) { DefaultWebSecurityManager manager = new DefaultWebSecurityManager(); manager.setRealm(myRealm); return manager; }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
如何解決SpringBoot定時任務(wù)報錯Unexpected error occurred 
這篇文章主要介紹了如何解決SpringBoot定時任務(wù)報錯Unexpected error occurred in scheduled task問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08Spring Boot Actuator監(jiān)控端點小結(jié)
這篇文章主要介紹了Spring Boot Actuator監(jiān)控端點小結(jié),需要的朋友可以參考下2017-06-06SpringBoot?集成Resteasy實現(xiàn)RESTFul接口的詳細(xì)過程
這篇文章主要介紹了SpringBoot集成Resteasy實現(xiàn)RESTFul接口,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08