yaml语法
- 配置文件
SpringBoot中使用的全局配置文件,其文件名是固定的(application),有两种语法结构(常用yaml)
1.application.properties:
key=value 键值对
2.application.yaml:
key:空格 value
配置文件的作用:修改SpringBoot自动配置的默认值。例如:我们可以在配置文件中修改Tomcat的端口号:
server.port=8081
这里通过键值对就可以将默认的端口号设置为8081。
- yaml概述
YAML是 “YAML Ain’t a Markup Language” (YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。这种语言以数据为中心。
传统的xml配置:
<server>
<port>8081<port>
</server>
properties配置:
server.port=8081
yaml配置:
server:
prot: 8081
- yaml基础语法
1)以缩进来控制层级关系。
2)空格不能省略(每个属性的前面和属性值前面都要加一个空格,不然会出错)。
3)大小写敏感。
#键值对
name: yuan
#对象
person:
name: szh
sex: boy
age: 21
birth: 2000/07/09
maps: {k1: v1,k2: v2}
#数组
lists:
- a
- b
- c
cat:
name: miaomiao
age: 3
#对象的行内写法
man: {name: yuan,age; 21}
注入配置文件
yaml文件更强大的地方在于,他可以给我们的实体类直接注入匹配值!
1)在SSM框架中,我们在实体类中使用@Value注解给属性赋值,在注入的地方使用@Autowired自动装配Bean。
2)在SpringBoot中,可以在实体类上使用@ConfigurationProperties(prefix = “person”),直接将yaml配置文件中的值注入给实体类中的属性。(yaml主要使用在配置类中)
@ConfigurationProperties(prefix = “xxx”)
作用:将组件与配置文件绑定,将配置文件中的属性值映射到组件中。 prefix参数:与某配置文件中属性名称进行绑定。
错误解决:
点击链接,将官网里的依赖添加到pom.xml中。
<!-- 导入配置文件处理器,配置文件进行绑定就会有提示,需要重启 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>