application.yml与Spring Boot的application.properties

cup*_*kob 44 format configuration yaml properties spring-boot

在我的项目中,我目前正在使用application.yml配置.Spring Initializr生成application.properties?每个人的优缺点是什么?

You*_*ice 51

嗯,它们只是不同的数据格式.哪一个更好更容易阅读?这显然是主观的.这是一篇有用的博客文章.

spring-boot配置而言,请注意,只有一个记录使用的缺点YAML.根据文件:

无法通过@PropertySource注释加载YAML文件.因此,如果需要以这种方式加载值,则需要使用属性文件.

  • YAML 配置格式是否被整个 SpringBoot 世界广泛接受?当我们遇到一个只提供properties格式配置的3rd方库时,我们自己转换成yaml格式是不是很简单? (4认同)
  • 它们不仅仅是不同的数据格式。YAML 支持 utf-8,application.properties 不支持 (4认同)
  • 另外,当我的代码库同时提供“application.yaml”和“application.properties”时会发生什么?我可以将东西移入,比如说,`.yaml` 到 `.properties` 中(根据需要更改格式)并期望事情以同样的方式继续工作吗? (4认同)

Dhw*_*tel 5

好问题,我也立刻对此感到困惑。

说到重点,据我所知,以下是一些差异,

1.). properties文件:它以顺序格式存储数据。 .yml文件:以分层格式存储数据。

2.). properties文件:它仅支持键值对,基本上是字符串值。 .yml文件:它支持键值对以及地图,列表和标量类型值。

3.). properties文件:该文件专门用于JAVA。 .yml文件: JAVA,Python,ROR等许多语言都使用此文件类型。

4.)如果要处理多个配置文件,请使用 .properties文件:在这种情况下,您需要为每个配置文件管理单独的文件。 .yml文件:在此文件类型中,您只需要管理单个文件并将特定配置文件的配置数据放入其中。

5.)对于Spring项目, .properties文件: @PropertySource注释支持此文件类型。 .yml文件: @PropertySource批注不支持此文件类型。

目前,我只知道这一点!!!