SpringBoot集成shiro,MyRealm中无法@Autowired注入Service的问题
更新时间:2019年03月13日 08:33:26 作者:Super_PF
今天小编就为大家分享一篇关于SpringBoot集成shiro,MyRealm中无法@Autowired注入Service的问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
网上说了很多诸如是Spring加载顺序,shiroFilter在Spring自动装配bean之前的问题,其实也有可能忽略如下低级错误。
在ShiroConfiguration中要使用@Bean在ApplicationContext注入MyRealm,不能直接new对象。
道理和Controller中调用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; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
相关文章
如何解决SpringBoot定时任务报错Unexpected error occurred 
这篇文章主要介绍了如何解决SpringBoot定时任务报错Unexpected error occurred in scheduled task问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-08-08SpringBoot 集成Resteasy实现RESTFul接口的详细过程
这篇文章主要介绍了SpringBoot集成Resteasy实现RESTFul接口,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-08-08
最新评论