我从引导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似乎没有任何作用,我稍后再添加进行测试。