如何正确地从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);
}
}
控制台打印的内容始终为空,而不打印application
文件中的值
答案 0 :(得分:2)
在创建类时(即在调用构造函数时)不会注入属性,但会稍后。因此,您会在构造函数中看到null。
尝试添加带有@PostConstruct
的方法,并检查结果:
@PostConstruct
public void afterCreation(){
System.out.println("@@@@@@@@@@@@@@@@@@@"+ mypassword);
}
答案 1 :(得分:0)
@pvpkiran我正在尝试将其添加到我的主要方法中,其余部分保持不变。
@SpringBootApplication
public class Application {
@Autowired
static Test t;
public static void main(String args[]){
SpringApplication.run(Application.class,args);
t.foobar();
}
}