YML配置实例说明

1、基本语法

k:(空格)v
  • 表示一对键值对(空格必须有)
  • 以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
  • 属性和值是大小写敏感的
server:
  port: 8081
  path: /hello

2、值的写法

2.1字面量:普通的值(数字,字符串,布尔)

​ k: v:字面直接来写;

​ 2.2字符串默认不用加上单引号或者双引号;

​ “”:双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
​ name: “mingzi01 \n mingzi02”
​ 输出;mingzi01 换行 mingzi02
”:单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
name: ‘mingzi01 \n mingzi02’
输出;mingzi01 \n mingzi02

​ 2.3对象、Map(属性和值):

分行写法:

friends:
  lastName: zhangsan
  age: 20

行内写法:

friends: {lastName: zhangsan,age: 18}

​ 2.4数组(List、Set):

用 - 值表示数组中的一个元素

pets:
  - cat
  - dog
  - pig

行内写法

pets: [cat,dog,pig]

3、配置文件值注入

配置文件

config-attributes:
  value: 345                         #对应单个值
 valueArray: 1,2,3,4,5,6,7,8,9 #对应数组  valueList: #对应list  - 13579  - 246810  valueMap: #对应map  name: xiaoming  age: 20  sex: female  valueMapList: #对应list  - name: aaa  age: 21  - name: bbb  age: 31 

javaBean:

@ConfigurationProperties(prefix = "config-attributes")
@ToString
public class Config { private String value; private String[] valueArray; private List<String> valueList; private HashMap<String, String> valueMap; private List<Map<String, String>> valueMapList; } 

主类中添加注解@ConfigurationProperties

@SpringBootApplication
@ConfigurationProperties
public class Configtest1Application {
	public static void main(String[] args) { SpringApplication.run(Configtest1Application.class, args); } } 
<dependency>
	<groupId>org.springframework.bootgroupId> <artifactId>spring-boot-configuration-processorartifactId> <optional>trueoptional> dependency> 
1.直接取值配置参数

定义

stu:
  name: mcx
  age: 25

取值

@Value("${stu.name}")
private String name;
2.将yml配置赋给实体
stu:
    name:mcx
    age: 25
    number: 9923 
@Component
@ConfigurationProperties(prefix = "stu")
public class UserBean{
    private String name; private int age; private int number; } 
3.多环境配置文件

application.yml

spring:
  profiles:
    active: dev (指定读取第一个配置文件)

application-dev.yml:

server:
  prot: 8080

application-test.yml:

server:
  prot: 8081

application-prod.yml:

server:
  prot: 8082

你可能感兴趣的:(YML配置实例说明)