您执行属性注入的方式将不起作用,因为注入是在调用构造函数之后完成的。
您需要执行以下操作之一:
@Component
public class MyBean {
private final String prop;
@Autowired
public MyBean(@Value("${some.prop}") String prop) {
this.prop = prop;
System.out.println("================== " + prop + "================== ");
}
}
@Component
public class MyBean {
@Value("${some.prop}")
private String prop;
public MyBean() {
}
@postconstruct
public void init() {
System.out.println("================== " + prop + "================== ");
}
}
还要注意,它不是特定于Spring Boot的,而是适用于任何Spring应用程序