SpringBoot的配置文件
2020-12-18 11:05
-
SpringBoot配置文件的类型和作用
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)文件进行配置
SpringBoot默认会从Resources目录下加载application.properties或者.yml文件
其中application.properties是键值对类型的文件,之前一直在使用。除此之外,SpringBoot还可以通过.yml文件进行配置,下面主要对.yml文件进行学习
-
application.yml配置文件
-
yml文件配置简介
yml文件格式是yaml编写的文件格式,yaml是一种直观的能够被电脑识别的数据序列化格式,并且很容易被人类所读,容易和脚本语言交互的,可以被支持yaml库的不同的编程语言程序导入,比如:从c/c++、python、java等。yml问价是以数据为核心的,比传统的xml文件更加的简洁灵活
-
yml配置文件的语法
-
配置普通数据
-
语法 key: value
-
示例 name: alice
-
注意;value之前有一个空格
-
-
配置对象数据
-
语法 key:
key1: value1
key2: value2
或者
key: {key1: value1,key2: value2}
-
示例
person:
name: alice
age: 31
address: beijing
或者
person: {name: alice,age: 31,address: beijing}
-
注意:key1前面的空格个数不限定,在yml语法中,相同缩进代表同一级别
-
-
配置map数据
和配置对象数据一致
-
配置数组(List、Set)数据
-
语法:
key:
-value1
-value2
-value3
或者
key: [value1,value2,value3]
-
示例
city:
- beijing
- shanghai
- hangzhou
或者
city: [beijing,shanghai,hangzhou]
-
-
-
配置文件与配置类的属性映射方式
-
可以通过@value注解将配置文件中的值映射到一个Spring管理的Bean的字段上
例如:
application.properties配置如下
person:
name: zhangsan
age: 18application.yml配置如下
person:
name: zhangsan
age: 18实体Bean如下
@Controller
public class QuickStartController{
@value("${person.name}")
private String name;
@value("${person.age}")
private Integer age;
}-
使用注解@ConfigurationProperties(prefix="配置文件中的key的前缀")可以将配置文件中的配置自动与实体进行映射
例如:
application.properties配置如下
person:
name: zhangsan
age: 18application.yml配置如下
person:
name: zhangsan
age: 18实体Bean如下
@Controller
@ConfigurationProperties(prefix="person")
public class QuickStartController{
@value("${person.name}")
private String name;
@value("${person.age}")
private Integer age;
}
-
-