springboot的默认配置文件:application.properties和application.yml
通过这个两个配置文件,可以修改一些默认配置,比如端口号。
yaml文件语法
数组(List、Set)
```java
pets:
- cat
- dog
- pig
```
行内写法:pets: [cat,dog,pig]
对象,map
friends:
lastName: zhangsan
age: 20
// 或者行内写法
friends: [lastName: zhangsan,age: 20]
调用yml中的配置
application.yml:
friends:
name: wyy
age: 28
job: IT
map: {k1: v1,k2: v2}
list:
- l1
- l2
dog:
name: Huang
age: 3
实体类如下:
@ConfigurationProperties(prefix = “friends”):通过该注解,读取yml配置文件,并赋予该实体类
@Component:把这些放进容器中,以备后续调用。
@Component
@ConfigurationProperties(prefix = "friends")
public class Person {
private String name;
private Integer age;
private String job;
private Map map;
private List list;
private Dog dog;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public Dog getDog() {
return dog;
}
public void setDog(Dog dog) {
this.dog = dog;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", job='" + job + '\'' +
", map=" + map +
", list=" + list +
", dog=" + dog +
'}';
}
}
public class Dog {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Dog{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}