@Configuration
public class Test1 {
@Autowired
private Test3 test3;
}
@Configuration
public class Test2 {
@Autowired
private Test3 test3;
@Bean(name = "test3 ")
Test3 test3 () {
return new Test3();
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了以下错误。
导致:org.springframework.beans.factory.BeanCreationException:创建名称为“test1”的bean时出错:自动装配依赖项注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException: 无法自动装配字段: private Test3 com.package.name.Test1.test3;
嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名称为“test2”的 bean 时出错:自动装配依赖项注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException: 无法自动装配字段: private Test3 com.package.name.Test2.test3;
嵌套异常是org.springframework.beans.factory。BeanCurrentlyInCreationException:创建名为“test3”的 bean 时出错:请求的 bean 当前正在创建中:是否存在无法解析的循环引用?
这是一个循环依赖的例子吗?如果是的话,有什么解决这个问题的想法吗?
据我所知,在HashMap中,条目(Key,Value)基于散列(Key.hashCode)放置在桶中 - >表示桶位置的索引.如果条目已经放置在该位置,则创建链接列表,并且新条目(如果它具有不同的键 - >通过equals()方法)放置在链接列表的开头.