springboot使用一个全局的配置文件,配置文件名是固定的
- application.properties
- application.yml
配置文件的作用:修改springboot自动配置的默认值;SpringBoot在底层将所有的东西都给我们配置好了
YAML:是一个标记语言,
YAML以数据为中心,比json、xml等更适合做配置文件
以前的配置文件,大多都使用的是xxx.xml文件。
是不是很简单的哇?
以前的xml是这么配置的,贼烦,一大推标签包裹着
8081
1.基本语法(把空格玩到极致的语法):
k:(空格)v :表示一对键值对(空格必须有)
以空格的缩进来控制层级关系;只要是左对齐的一列数据都是同一层级的
server:
port: 8081
path: /hello
**** 属性和值是大小写敏感的 ****
**** 请注意空格 ****
**** 属性和值之间也有空格 ****
2.值的写法
字面量:普通的值(数字,字符串,布尔)
k: v字面量直接来写;字符串默认不用加上单引号或者双引号
" ":双引号:不会转义字符串里面的特殊字符,特殊字符会作为本身想表示的意思
'' : 单引号: 会转义特殊字符,特殊字符最终只是一个普通的字符串
对象:Map(属性和值)(键值对)
k: v:在下一行来写对象的属性和值的关系;注意缩进
对象还是k: v的方式
yam
friends:
lastName: zhangsan
age: 20
*******行内写法:
friends: { lastName: zhangsan, age: 18}
数组(List、Set): 用-值表示数组中的一个元素
pets:
- cat
- dog
- pig
行内写法:
pets: [cat,dog,pig]
配置文件注入:
配置文件:
person:
lastName: zhangsan
age: 18
boss: false
birth: 2017/12/12
maps: {k1: v1,k2: 12}
lists:
- lisi
- zhaoliu
dog:
name: 小狗
age: 2
javaBean
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String lastName;
private Integer age;
private Boolean boss;
private Date birth;
private Mapmaps;
private List
我们可以导入配置文件处理器,以后编写配置就有提示
org.springframework.boot
spring-boot-configuration-processor
配置文件yml还是properties他们都能获取到值,区别如上
配置文件注入值数据校验@Validated