Spring Boot Bean的创建和依赖注入的顺序是什么



i在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时,此应用程序不再起作用,该应用程序不会以"未找到的bean of type deptionencya"启动。我认为这可能是因为当Spring试图注入依赖关系时,并未创建Bean,因此,作为" hack",@lazy @lazy in lazy in Depentencya注入。这起作用了。

鉴于此,配置类执行的顺序是多少。是吗:a)首先创建豆,然后注入依赖项b)尝试使用所有依赖项创建实例,然后在配置中创建所有bean。

有趣的发现;

配置类也是弹簧豆。

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

但是,您添加了@Autowire来进行现场注射。正如我所说,配置类也是弹簧豆。因此,春季需要首先解决其依赖关系。并陷入死锁。

回答您的问题。配置类先在其他豆之前实例化。

相关内容

  • 没有找到相关文章

最新更新