SpringBoot配置文件-----YAML
原创
©著作权归作者所有:来自51CTO博客作者Danna123的原创作品,请联系作者获取转载授权,否则将追究法律责任
springboot使用一个全局的配置文件,配置文件名是固定的
application.properties application.yml 配置文件的作用:修改springboot自动配置的默认值;SpringBoot在底层将所有的东西都给我们配置好了
YAML:是一个标记语言,
YAML 以数据为中心 ,比json、xml等更适合做配置文件
以前的配置文件,大多都使用的是xxx.xml文件。
是不是很简单的哇?
以前的xml是这么配置的,贼烦,一大推标签包裹着
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 Map maps; private List lists; private Dog dog; 我们可以导入配置文件处理器,以后编写配置就有提示
org.springframework.boot spring-boot-configuration-processor
配置文件yml还是properties他们都能获取到值,区别如上
配置文件注入值数据校验@Validated