SpringBoot集成shiro,MyRealm中无法@Autowired注入Service怎么办

小编给大家分享一下SpringBoot集成shiro,MyRealm中无法@Autowired注入Service怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联专业为企业提供梧州网站建设、梧州做网站、梧州网站设计、梧州网站制作等企业网站建设、网页设计与制作、梧州企业网站模板建站服务,10年梧州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

网上说了很多诸如是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集成shiro,MyRealm中无法@Autowired注入Service怎么办”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


网页标题:SpringBoot集成shiro,MyRealm中无法@Autowired注入Service怎么办
链接分享:http://csruizhi.cn/article/gdjeep.html

其他资讯

Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 定制网站制作 做网站设计 成都网站建设 成都企业网站制作 定制级高端网站建设 成都商城网站建设 成都h5网站建设 企业网站设计 高端定制网站设计 成都网站设计 企业网站设计 成都网站制作 网站建设推广 网站制作公司 成都网站制作 自适应网站设计 重庆电商网站建设 营销型网站建设 成都网站设计制作公司 成都网站建设公司 网站建设 手机网站建设