通过注解读取配置application.perperties文件中的 key-value(键值对)并将key-value中的value映射到属性或实体类中
1、application.perperties
# 这里是 linux一些配置信息 ,需要读取到 java程序 (自定义的key)
server.name= centos7
server.ip=192.168.11.121
2、给属性增加注解读取配置文件数据
@Component //交给spring管理,不需要new对象
@PropertySource("classpath:application.properties") //将配置文件读取过来
public class ServerUtils {
@Value("${server.name}") //将 配置文件的 value 赋值给name
private String name; //服务器名称
@Value("${server.ip}")
private String ip ;// ip地址
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
}
3、编写实体类通过注解读取配置文件数据
/**
* 读取配置文件
* @return
*/
@RequestMapping("/getData")
public Object readData(){
return serverUtils;
}
通过注解读取配置application.yaml文件中的 key-value(键值对)并将key-value中的value映射到属性或实体类中
1.application.yaml
person:
name: qinjiang
age: 3
happy: false
birth: 2000/01/01
maps: {k1: v1,k2: v2}
lists:
- code
- girl
- music
dog:
name: 旺财
age: 1
2、给属性增加注解读取配置文件数据
/*
@ConfigurationProperties作用:
将配置文件中配置的每一个属性的值,映射到这个组件中;
告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定
参数 prefix = “person” : 将配置文件中的person下面的所有属性一一对应
*/
@Component //注册bean
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private Integer age;
private Boolean happy;
private Date birth;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog;
}
3、编写实体类通过注解读取配置文件数据
@SpringBootTest
class DemoApplicationTests {
@Autowired
Person person; //将person自动注入进来
@Test
public void contextLoads() {
System.out.println(person); //打印person信息
}
}