我必须在Bean的构造函数上执行@Autowired以避免遗留系统崩溃。
以下是示例
@Component
public class SampleBean {
@Autowired
public SampleBean(SampleProperties properties) {
// use properties
}
}
这是SampleProperties
@ConfigurationProperties
public class SampleProperties {
public String hostname;
//Getter / Setter
}
我正在使用SpringBoot
@EnableAutoConfiguration(exclude = {EmbeddedServletContainerAutoConfiguration.EmbeddedJetty.class,
LiquibaseAutoConfiguration.class})
@ComponentScan@EnableScheduling
@EnableConfigurationProperties({
SampleProperties.class
})
public class SampleApplication {
public static void main(String[] args) {
RioPropertyInitializer.init();
SpringApplication.run(SampleApplication, args);
}
}
我们正在使用application.yml文件。这是问题,当我调试时,我可以看到主机名值正在从application.ml中替换,但是当它到达构造函数时,hostname为空。
有什么问题?