【发布时间】:2019-01-06 19:11:21
【问题描述】:
如何正确地从 application.properties 文件中注入值?
主类:
@SpringBootApplication
public class Main {
public static void main(String args[]) {
SpringApplication.run(Main.class,args);
}
application.properties 文件:
my.password=admin
测试类:
@Component
public class Test {
@Value("${my.password}")
private String mypassword;
public String getMypassword() {
return mypassword;
}
public void setMypassword(String mypassword) {
this.mypassword = mypassword;
}
public Test(){
System.out.println("@@@@@@@@@@@@@@@@@@@"+ mypassword);
}
}
控制台打印始终为 null,而不是来自 application 文件的值
【问题讨论】:
-
我不认为 Value 标记在调用构造函数之前分配了值。我可能是错的,但是在新函数上使用 PostConstruct 标记并打印值,看看是否有效。
-
你是对的,谢谢你的帮助
标签: java spring-boot properties components