properties

Maven自身的配置文件,使用"."访问。

可以根据官方的文档来修改配置:Application Properties

properties转yml文件工具 idea yml转properties_spring

例如可以这样设置访问的端口:

properties转yml文件工具 idea yml转properties_spring_02

properties转yml文件工具 idea yml转properties_spring boot_03

yaml

yaml使用key,value键值对来进行设置配置。这里的元素一般都不用加单双引号,除非你想使用转义字符。-n在yaml中为N。

key后面需要跟一个空格,不然会索引不到。

例如下面的userName:后需要跟一个空格才行。

properties转yml文件工具 idea yml转properties_java_04


下面展示没有key的情况:

properties转yml文件工具 idea yml转properties_spring boot_05


我们可以看到userName:zhangsan和在了一起,idea将他们识别为person的一个单独元素了,而不是之前的字典类型。

使用转义字符

我们知道yaml配置可以不写单双引号,但是当我们使用转义字符的时候呢?

我们来测试一下。

我们在controlle的/person请求里加上输出person的userName。并在网页上查看

properties转yml文件工具 idea yml转properties_后端_06

没有引号

properties转yml文件工具 idea yml转properties_java_07


我们可以看到网页上\n变成了\n。

properties转yml文件工具 idea yml转properties_properties转yml文件工具_08

然后我们去控制台看一下输出:

properties转yml文件工具 idea yml转properties_spring_09


这样我们就了解了 ,网页上显示两个\的原因是要将引号里面的\转义为\。这样就是没有换行,仅仅是一个\n字符。

单引号

properties转yml文件工具 idea yml转properties_spring_10


网页输出和控制台输出都是一样的。

properties转yml文件工具 idea yml转properties_spring_11


properties转yml文件工具 idea yml转properties_后端_12


也就是单引号和没有单引号是一个效果。

双引号

我们试一下双引号

properties转yml文件工具 idea yml转properties_后端_13

我们可以看到网页上的数据就是一个\,也就是没有转义,依然是一个换行。

properties转yml文件工具 idea yml转properties_java_14


控制台的输出也符合我们期望,实现了换行。

properties转yml文件工具 idea yml转properties_后端_15

我们得出结论,如果你需要使用换行符等转义字符,你需要使用引号的格式来使你的换行符生效。

数组、字典和集合数据类型的格式

数组

这里我们有两种方式来表示数组的格式

第一种是使用[a,b,c,d]来表示数组。

下面这种Map<key,array>的格式的数据就需要这样来表示

properties转yml文件工具 idea yml转properties_后端_16


第二种使用“-”符号向下拓展。这里的animal数据是数组类型往下拓展需要空两个字符再写“-”,然后再空一个字符,才能写自己的数据,不过idea很人性化,当你写完第一数据,点击回车,他会自己生成下一行的格式,你只需要敲数据就行了。

properties转yml文件工具 idea yml转properties_后端_17

还有一种很方便的写法

就是用“.”索引,和原来properties的写法一样,但是idea也会帮我们写成yaml的格式。

可以看到我只写了spring.web。

properties转yml文件工具 idea yml转properties_后端_18

配置处理器

我们自己写的类和配置文件绑定yaml不会发出提示,这时候我们可以导入一个依赖。
并且添加一个插件,使该依赖的文件不会被打包到jar包里面。
因为配置管理器只是方便了我们的开发,而不是业务必须的因此这样可以省去一些空间。

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

			<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>

在把userName删掉后,我们输入一个per,idea就会给我们提示我们自己编写的类的元素。

properties转yml文件工具 idea yml转properties_java_19