为什么使用yml而不是用properties文件

简介: 两个关键点

两个关键点:


第一个是yml是支持中文内容的,properties想使用中文只能用unicode编码


第二个是顺序问题,properties是不保证加载顺序的,yml有先后顺序,实际用例比如springcloud的zuul网关路由配置,如果一个uri同时满足两个匹配规则,properties你是不知道它到底使用了哪个规则的,而yml则一定是使用了靠后的那个路由规则


Java 的 Properties 加载属性文件后是无法保证输出的顺序与文件中一致的,因为 Properties 是继承自 Hashtable , key/value 都是直接存在 Hashtable 中的,而 Hashtable 是不保证进出顺序的。


总有时候会有关心顺序一致的需求,恰如有 org.apache.commons.collections.OrderdMap(其实用 LinkedHashMap 就是保证顺序) 一样,我们也想要有个 OrderdProperties。


目录
相关文章
|
3月前
|
Java Spring
【Spring配置】创建yml文件和properties或yml文件没有绿叶
本文主要针对,一个项目中怎么创建yml和properties两种不同文件,进行配置,和启动类没有绿叶标识进行解决。
|
10月前
|
Java Go 数据库
SpringBoot配置文件(properties & yml)
SpringBoot配置文件(properties & yml)
springboot 使用yml配置文件自定义属性
springboot 中在application.yml文件里自定义属性值,配合@Value注解可以在代码中直接取到相应的值,如在application.yml中添加
|
前端开发 Java API
SpringBoot 常用的配置文件 application.yml和 bootstrap.yml的区别
SpringBoot默认支持properties和YAML两种格式的配置文件。前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。SpringBoot支持自动加载约定名称的配置文件,例如application.yml。如果是自定义名称的配置文件,就要另找方法了。可惜的是,不像前者有@PropertySource这样方便的加载方式,后者的加载必须借助编码逻辑来实现。
535 0
SpringBoot的yml配置文件(三)下
SpringBoot的yml配置文件(三)
176 0
SpringBoot的yml配置文件(三)下
|
XML JSON NoSQL
SpringBoot的yml配置文件(三)上
SpringBoot的yml配置文件(三)
684 0
SpringBoot的yml配置文件(三)上
|
Java Spring
SpringBoot的yml配置文件(三)中
SpringBoot的yml配置文件(三)
287 0
SpringBoot的yml配置文件(三)中
|
XML JSON NoSQL
SpringBoot的yml配置文件(三)
本文主要介绍点:1. yaml 配置文件的规则2. ConfigurationProperties注解的绑定3.PropertySource 注解的使用
490 0
SpringBoot的yml配置文件(三)
|
Java Maven
SpringBoot使用Yml配置文件
添加依赖 来源于官方文档 SpringBoot 1.5.9 Maven org.
2841 0
|
JSON Java 数据格式
SpringBoot的配置文件properties和yml格式
SpringBoot的配置文件properties和yml格式
333 0