[ SpringBoot ] YAML及配置文件初始
前言
以数据为中心 , 更适合做配置文件 YAML的命名非常有意思,
YAML Aint Markup Language YAML A Markup Language YAML isnt Markup Language
这是一种递归语法(头一次听),描述了YAML即是一种标记语言,又不是一种标记语言
一、YAML基本语法
使用的是键值对的方式
key:空格value [这里的空格不能省略] 使用缩进来控制层级结构,左对齐的一列表示一个层级
普通变量 : key: value 对象: key: value
对象名: key: value -------------------- 也可以是行内写法 对象名: {key1: value1,key2: value2}
数组 :
数组名: - 元素1 - 元素2 -------------------- 数组名: [元素1,元素2...]
二、YAML读取配置文件的值
1.写配置文件
代码如下(示例):
person: name: zhangsan friend: - lisi - wangwu map: loc1: nanguanqu loc2: chaoyangqu dog: name: 小狗
2.打注解
在对应的model里打上@ConfigurationProperties(prefix = "person") @Component 注解,前者是通知springboot这个类的属性都是配置文件中的属性值 , 后者是将JavaBean标记成一个组件
prefix属性需要与文件中指定的属性对应,即上文中yaml中的person
代码如下(示例):
@ConfigurationProperties(prefix = "person") @Component
3.在pom.xml文件中配置文件处理器
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
最后在测试模块中运行输出对象即可
Person{ name=zhangsan, dog=Dog{ name=小狗}, friend=[lisi, wangwu], map={ loc1=nanguanqu, loc2=chaoyangqu}}