配置文件

文件类型

1、properties

2、yaml

 

YAML

1、标记语言

2、基本语法

(1)key: value

(2)冒号之后需要一个空格

(3)大小写敏感

(4)使用缩进表示层级关系

(5)缩进不允许使用 Tab,只允许空格

(6)缩进的空格数不重要,只要相同层级的元素左对齐即可

(7)# 表示注释

(8)字符串无需加引号

(9)'' 表示字符串内容被转义;"" 不会对字符串内容转义

(10)引用:& 用来建立锚点(defaults),<< 表示合并到当前数据,* 用来引用锚点

 

数据类型

1、字面量 / 纯量 / 标量(scalars)

(1)单个、不可再分的值

(2)字符串布尔值、整数、浮点数、Null、时间、日期

(3)格式

key: value

2、对象

(1)键值对的集合,又称为映射(mapping)/ 哈希(hashes)/ 字典(dictionary)

(2)map、hash、set、object

(3)对象键值对使用冒号结构表示 key: value,冒号后面要加一个空格

(4)行内写法

key: {key1:value1,key2:value2,key3:value3}

(5)对象表示法,使用缩进表示层级关系

key:
  key1: value1
  key2: value2
  key3: value3

(6)较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的 key,配合一个冒号加一个空格代表一个 value

#意思即对象的属性是一个数组 [complexkey1,complexkey2],对应的值也是一个数组 [complexvalue1,complexvalue2]
? 
    - complexkey1
    - complexkey2
: 
    - complexvalue1
    - complexvalue2

3、数组

(1)一组按次序排列的值,又称为序列(sequence)/ 列表(list)

(2)array、list、queue

(3)以 - 开头的行表示构成一个数组

- A
- B
- C

(4)行内写法,支持多维数组

key: [value1, value2, value3 ...]

(5)常规写法

key:
 - value1
 - value2
 - value3

(6)数据结构的子成员是一个数组,则可以在该项下面缩进一个空格

-
 - A
 - B
 - C

(7)一个相对复杂的例子

#意思是 companies 属性是一个数组,每一个数组元素又是由 id、name、price 三个属性构成。
companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W

#数组也可以使用流式(flow)的方式表示
companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 500W}]

 

配置提示

1、自定义 POJO 和配置文件绑定时,没有提示代码

2、引入依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>

3、引入 jar 包与业务无关,只简化开发

4、打包项目时,排除以上依赖

<project>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-configuration-processor</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
posted @   半条咸鱼  阅读(53)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示