SpringBoot获得application.properties中数据的几种方式(我的只有第二种方式适用,并且项目初始化的时候不能用,在项目启动后才可用)
第一种方式
@SpringBootApplication
public class SpringBoot01Application {
public static void main(String[] args) {
ConfigurableApplicationContext context=SpringApplication.run(SpringBoot01Application.class, args);
String str1=context.getEnvironment().getProperty("aaa");
System.out.println(str1);
}
}
第二种方式(自动装配到Bean中)
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
@Component
public class Student {
@Autowired
private Environment env;
public void speak() {
System.out.println("=========>" + env.getProperty("aaa"));
}
}
第三种方式(使用@value注解)
package com.example.demo.entity;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource("classpath:jdbc.properties")//如果是application.properties,就不用写@PropertyScource("application.properties"),其他名字用些
public class Jdbc {
@Value("${jdbc.user}")
private String user;
@Value("${jdbc.password}")
private String password;
public void speack(){
System.out.println("username:"+user+"------"+"password:"+password);
}
}
来源:https://blog.csdn.net/qq_37171353/article/details/78005845