SpringBoot 配置文件类型
SpringBoot 配置文件的类型和作用
SpringBoot 是基于约定的,所以很多配置都有默认值,如果想使用自己的配置替换默认配置的话,就可以使用 application.properties
或者 application.yml (或 application.yaml)
进行配置。
SpringBoot 默认会从 resources
目录下加载 application.properties
或者 application.yml (或 application.yaml)
文件,因 properties
文件常用, 下面对 yml
文件进行讲解。
application.yml 配置文件
yml 配置文件简介
YML
文件格式是 YAML (YAML Aint Markup Language)
编写的文件格式,YAML 是一种直观的能够被计算机识别的数据序列化格式,并且易于人们阅读,容易和脚本语言交互,可以支持 YAML 库的不同编程语言导入,YAML 是以数据为核心的,比传统的 XML 方式更加简洁。
YML 文件的扩展名可以使用 .yml
或者 .yaml
。
yml 配置文件的语法
配置普通数据
-
示例代码
name: Edwinpanzzz
-
注意:value 之前有一个空格。
配置对象数据
-
示例代码
# 配置服务端口 server: port: 8080 # 行内配置 server: {port: 8080}
配置数据和集合
-
数组示例代码
# 普通字符串 city: - beijing - chongqing # 行内配置 city: [beijing, chongqing] # 对象 student: - name: tom age: 18 - name: jack age: 20 # 行内配置 student: [{name: tom, age: 18}, {name: jack, age: 20}]
-
map 数据代码示例
map: key1: value1 key1: value2
配置文件与配置类的属性映射方式
使用注解 @Value 映射
@Controller
public class HelloController {
@Value("${person.name}")
private String name;
@Value("${person.age}")
private Integer age;
@RequestMapping("/hello")
@ResponseBody
public String sayHello() {
return "name: " + name + ", age: " + age;
}
}
使用 @ConfigurationProperties 映射数据
@Controller
// 配置对象前缀
@ConfigurationProperties(prefix = "person")
public class HelloController {
private String name;
private Integer age;
// 提供 get 和 set 方法
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;
}
@RequestMapping("/hello")
@ResponseBody
public String sayHello() {
return "name: " + name + ", age: " + age;
}
}
网友评论