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

时间:2019-03-12 21:07:32

标签: java spring spring-boot dependency-injection spring-config

我正在Spring Boot 1.5上的一个项目上工作。它具有以下类型的配置类:

@Configurtion
public class Foo{

 @Autowired
 private DependencyA dependencyA;

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

}

在Spring Boot 1.5中这可以正常工作,但是当我升级到Spring Boot 2时,它不再工作,应用程序将无法启动,但出现异常“找不到DependencyA类型的bean”。我认为这可能是因为在Spring尝试注入依赖项时未创建该Bean,因此,作为“ hack”,在依赖项注入中添加了@Lazy。这行得通。

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

0 个答案:

没有答案