springCloud项目启动不能实例化使用xml实例化的shiro的bean

springboot 2.0.4+ shiro 项目启动成功,shiro的bean实例化正常,但是
加上springCloud的任何一个引用(目前加的consul,eurka,openFeign),能正常启动,但是shriro的用户认证类中的@Autowired注入的类全是null值,不知道为什么,求解!!!
如下是项目代码
1出错代码
图片说明
2shiro是通过xml配置的
图片说明
3springCloud配置
图片说明

            特别强调: 没加cloud的时候项目运行正常,加上cloud的jar包,未改动任何启动类和其他类的配置,项目再启动shiro的UserRealmShiro认证里的@Autowired全是null值,
            求:什么原因导致的?怎么排查?怎么解决?

建议从配置文件加载和bean包扫描上入手检查下,或者试试UserRealmShiro类用注解(@Componet)的方式来定义bean.

看看xml配置文件中是否扫描当前类的目录,类上是否加@Componet之类的注解

因为shiro的bean是auto proxy.是最早注册的这一类,所以你在这个配置文件里从bean工厂里拿到的都是null.
但是这个config只是初始化,所以两个方法.一个是shiro提前帮你注册,但是这个会有一个弊端,会使一些功能失效(舍去,如果需要知道具体的原因,可以@我)
第二个方法,不提供自动注册,比如你可以new一个,但是有一个弊端,因为web项目是异步堵塞进程,所以每次访问都会造成很大的开销,还有一个办法是加上@Lazy注解,直接延迟加载.