我的Spring启动应用程序无法使用application.yml中的properties对象创建bean。
这是我所做的:
application.yml:
statsd:
host: 10.0.5.23
port: 8125
我创建了一个
StatsdProperties @Component
类来保存上述数据:@Component
@ConfigurationProperties(prefix="statsd")
public class StatsdProperties {
private String host;
private int port;
.... getters & setters
}
我创建了另一个应该使用上述属性的
@Component
类: @Component
public class MyClass{
@Autowired
private StatsdProperties statsdProperties;
public MyClass(){
statsdProperties.getPort() <--- statsdProperties is null here
}
并且
statsdProperties
在MyClass
中为null我究竟做错了什么?
最佳答案
将配置文件更新为:
@Configuration
@EnableConfigurationProperties()
@ConfigurationProperties(prefix = "statsd")
public class StatsdProperties {
private String host;
private int port;
.... getters & setters
}