SpringBoot 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<map>
    -  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.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</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

猜你喜欢

转载自www.cnblogs.com/marsx/p/12660062.html
今日推荐