首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Boot bean创建和依赖注入的顺序是什么?

Spring Boot bean创建和依赖注入的顺序是什么?
EN

Stack Overflow用户
提问于 2019-03-13 05:07:32
回答 1查看 1.2K关注 0票数 0

我当时正在做一个Spring Boot1.5的项目。它具有以下类型的配置类:

代码语言:javascript
复制
@Configurtion
public class Foo{

 @Autowired
 private DependencyA dependencyA;

 @Bean
 public DependencyA getDependency(){
   return new DependencyAImpl();
  }

}

这在Spring Boot1.5中工作得很好,但当我升级到Spring Boot2时,这不再起作用,应用程序不会启动,并出现异常“no bean of type DependencyA found”。我想这可能是因为当Spring试图注入依赖项时,bean并没有被创建,因此,作为一个“黑客”,在dependencyA注入中添加了@Lazy。这起作用了。

鉴于此,配置类的执行顺序是什么?它是: A)首先创建bean,然后注入依赖项B)尝试创建具有所有依赖项的实例,然后在配置中创建任何bean。

EN

回答 1

Stack Overflow用户

发布于 2019-03-13 05:30:16

有趣的发现;

配置类也是Spring Bean。

通常,配置类首先被扫描和实例化。这必须是了解其他配置和bean的起点。

但是,您已经添加了@Autowire来执行字段注入。正如我所说的,配置类也是Spring Bean。因此,spring需要首先解决它的依赖关系。然后陷入了死锁。

来回答你的问题。首先实例化配置类,然后再实例化其他Beans。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55130667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档