发生的原因是:自定义AuthorizingRealm上加上了@service等注解,不应该加,否则会出现“注入失败”(其实是被覆盖了)但能正常启动项目的问题,具体案例往下看。
springboot配置shiro文件:shiroConfig.java
这里已经返回一个beanName为“userAuthRealm”的UserAuthRealm
UserAuthRealm.java
如果UserAuthRealm类上还加上@service会覆盖掉原本初始化的userAuthRealm,上面加载的userAuthRealm会覆盖,导致一些自动注入的service类变成null,所以不要添加这个@service,就能成功注入。
具体原因下次再继续研究~~!!!
终于找到原因了!要下班拉!