Spring依赖注入发生循环引用

问题:is there an unresolvable circular reference?

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

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

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

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

你可能感兴趣的:(Spring依赖注入发生循环引用)