升级后,SpringBoot的初始化顺序已更改

时间:2018-10-19 12:12:46

标签: java spring spring-boot

我从引导1.4升级到了2.0。除了API更改外,大多数事情都进行得很顺利。但是我得到了一个@Component和一个@Configuration,它们现在表现得很奇怪:

@Configuration
@ConfigurationProperties(prefix = "db")
public class DbConfig {
   @NotNull
   private File statusFile;

   @Bean
   public File statusFile() {return statusFile}

   public void setStatusFile(...);
}

@Component
@DependsOn("statusFile")
public class DbStatusCheck {
   @Autowired
   private File statusFile
   ...
}

statusFile在DbStatusCheck bean中始终为null。调试配置还显示在将其注入DbStatusCheck时为null。稍后,当其他Bean从Config中拉出时,它不再为null,并且在初始化DbStatusChecker Bean之后调用setter。

不是从该特定配置进行的其他注入,但其他通过Checker进行的注入也可以正常工作。 @DependsOn似乎没有任何作用,我稍后再添加进行测试。

0 个答案:

没有答案