SpringBoot的配置文件application.yml

一、配置文件

SpringBoot使用一个全局的配置文件,配置文件有2种:

1.application.properties

2.application.yml
配置文件放在src/main/resource目录下,如图所示。

 

 二、YAML介绍

基本介绍:

.yml是YAML(YAML Ain't Markup Language)语言的文件,以数据为中心,比json、xml等更加适合做配置文件

YAML Ain't Markup Language 这是一个递归写法 ;
YAML A Markup Language:是一个标记语言
YAML isn't Markup Language:不是一个标记语言;

YAML语法:

1.YAML基本语法

  - 使用缩进表示层级关系

  - 缩进时不允许使用Tab键,只允许使用空格键

  - 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  - 大小写敏感
2.YAML支持的三种数据结构
  - 对象:键值对的集合
  - 数组:一组按次序排列的值
  - 字面量:单个的、不可再分的值
3.YAML的写法
  -对象(Map)
    对象的一组键值对,使用冒号分隔开。比如: username: tanglb
    冒号后面用空格来分开键值对;
    {k: v}是行内写法
k: v:在下一行来写对象的属性和值的关系;注意缩进
对象还是k: v的方式
friends:
         name: wangxq
         age: 20

行内写法:

friends: {name: wangxq,age: 20}

 

  

  数组(List、Set):
    用- 值表示数组中的一个元素 ,多个元素构成一个数组,[ ]为行内写法
    - 数组,对象可以组合使用
friends:
         - name: wangxq
           age: 20
         - name: tanglb
           age: 24

行内写法:

friends: [{name: wangxq,age: 20},{name: tanglb,age: 24}]

 

  - 字面量
    数字、字符串、布尔、日期
    字符串
      - 默认不使用引号
      - 可以使用单引号或者双引号,单引号会转义特殊字符
      - 字符串可以写成多行,第二行开始,必须有一个单空格缩进,换行符会被转义为空格
eg:
name: "tanglb \n wangxq"
#输出;tanglb 换行 wangxq
name: 'tanglb \n wangxq'
#输出;tanglb \n wangxq

 

三、YAML配置文件注入

配置文件:

person: 
     lastName: jack
     age: 18 
     boss: false 
     birth: 2021/9/18
     maps: {k1: v1,k2: 12} 
     lists: 
       - tanglb 
       - wangxq
     dog:
     name: 柯基 
     age: 2

javaBean:

 1 package com.xihua.helloworld.bean;
 2 import org.springframework.stereotype.Component;
 3 import org.springframework.boot.context.properties.ConfigurationProperties;
 4 import java.util.Date;
 5 import java.util.List;
 6 import java.util.Map;
 7 
 8 /**
 9  * 将配置文件中配置的每一个属性的值,映射到这个组件中
10  * @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
11  *      prefix = "person":配置文件中哪个下面的所有属性进行一一映射
12  * 只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能;
13  *  @ConfigurationProperties(prefix = "person")默认从全局配置文件中获取值;
14  *
15  */
16 @Component
17 @ConfigurationProperties(prefix = "person")
18 public class Person {
19 
20     private String lastName;
21 
22     private Integer age;
23 
24     private Boolean boss;
25 
26     private Date birth;
27 
28     private Map<String,Object> maps;
29 
30     private List<Object> lists;
31 
32     private Dog dog;
33 }

 

我们可以在pom文件导入配置文件处理器依赖,以后编写配置就有提示了 
 
<!‐‐导入配置文件处理器,配置文件进行绑定就会有提示‐‐> 
<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring‐boot‐configuration‐processor</artifactId>        
<optional>true</optional> </dependency >

 

 
 
 
 
 
posted @ 2021-09-18 12:53  活在记忆里的人  阅读(1096)  评论(0编辑  收藏  举报