如何正确地从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
文件中的值 最佳答案
在创建类时(即在调用构造函数时)不会注入属性,但是会稍后。因此,您在构造函数中看到null。
尝试添加带有@PostConstruct
的方法,如下所示,并检查结果:
@PostConstruct
public void afterCreation(){
System.out.println("@@@@@@@@@@@@@@@@@@@"+ mypassword);
}