旧代码:
@Component("someFactory")
public class SomeFactoryImpl implements SomeFactory{
@Autowired
private List<SomeTransformer<?, ?>> someTransformers;
新代码:
@Component("someFactory")
public class SomeFactoryImpl implements SomeFactory {
private List<SomeTransformer<?, ?>> someTransformers;
@Autowired
public SomeFactoryImpl(List<SomeTransformer<?, ?>> someTransformers) {
this.someTransformers = someTransformers;
}
这里我得到了:
组织。springframework。豆。工厂BeanCurrentlyIncremationException:创建名为“someFactory”的bean时出错:请求的bean当前正在创建中:是否存在无法解析的循环引用?
当通过构造函数自动连接时,Spring是否存在一些问题?
查看Spring文档(查找“循环依赖项”)。
与典型情况(没有循环依赖关系)不同,bean A和bean B之间的循环依赖关系迫使其中一个bean在完全初始化之前注入另一个bean(经典的鸡/蛋场景)。
区别在于:;
在Setter注入中,bean引用仅在需要时构造。当用@Required注释setter时,您可能会重新创建setter注入的相同问题,因为这将导致立即创建bean。
在构造函数注入中,Spring无法决定应该首先创建哪个bean,因为它们相互依赖。问题立即暴露出来。一种可能的解决方法是使用带@Lazy;
@Component
public class CircularClassA {
private CircularClassB classB;
@Autowired
public CircularDependencyB(@Lazy CircularClassB classB) {
this.classB = classB;
}
}
这将只创建类B的代理,而不是完全初始化它。它在需要时被完全初始化,就像setter注入一样。
我得到以下错误消息,而运行我的项目 组织。springframework。豆。工厂UnsatisfiedPendencyException:创建名为“TipoeStatDoCivilController”的bean时出错:通过字段“TipoeStatDoCivilService”表示的未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂UnsatisfiedPendenc
我有一个Spring启动应用程序。我用@Component注释了项目的一个类。现在在我的主类中,当我试图获取该类的bean时,我得到一个异常,它无法找到该bean。 注释为组件的类如下
2020-09-23T15:28:00.3483912Zjava.lang.IllegalStateExcture:未能加载Application ationContext 2020-09-23T15:28:00.3489821Z引起的原因:org.springframework.beans.factory.不满意依赖异常:创建在文件[/home/run/work/comation-service
各位, 我试图运行一个简单的spring示例,使用Required 但是,当我运行main method类时,我会得到以下异常跟踪? 线程“main”java中出现异常。lang.NoSuchMethodError:org。springframework。豆。工厂注释。注入元数据。(Ljava/lang/Class;Ljava/util/Collection;)V位于组织。springframew
尝试使用异常消息导航到“客户”时出现异常