Spring依赖注入发生循环引用

问题:is there an unresolvable circular reference?

这是我在Jpa+Mybatis+多数据源结合的时候出现的问题,这个问题在SpringBoot项目启动的时候,能正常启动成功。但是当运行Service层的单元测试时,却运行不起来。

Google了一下有些Solution不用构造或者直接注入,但是不适合解决我的问题。

我使用的是找到循环注入的两个Bean,使用 @Lazy 注解标志其中一个为懒加载,这样则可避免循环引用。

Spring内部代码是当解析依赖注入关系的时候,先判断是不是 @Lazy Bean,如果是,则暂不解析该依赖,如果不是则会进行依赖Bean的查找,如果查找不到则会创建。但是在创建的时候,由于和需要注入的Bean有循环依赖关系,所以注入Bean创建失败。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容