分享

application.properties和application.yml的区别

 竹林湘馆 2020-03-08

来源1:https://blog.csdn.net/tansitao110/article/details/97135314

来源2:https://www.cnblogs.com/chenyun-/p/11306854.html

当application.yml 和 application.properties 两个文件同时存在的时候,application.properties的优先级是高于application.yml的,也就是说如果你的项目中存在 application.properties 文件时,application.yml文件是不能够发挥作用的。springboot更推荐使用application.yml代替application.properties,另外由于properties的配置文件含中文时读取会乱码,而在yml中不会因此建议使用yml配置文件替换properties配置文件。

1、application.properties和application.yml都是spring boot的配置文件,但是两种配置文件的里面添加配置却不一样,直接上图对比

2、通过对比很明显可以发现yml这种方式更有层次感,它是天生就是一种树型建构,可读性更强!将.properties里面的配置key换成yml只需要将“.”换成“:”,然后换行,将“=“ 换成“:”,注意在value前面一定要有一个空格,同一个key必须合并到一个树结构下,比如都是server开头的配置那么在yml中必须合在一个server下面,如图

yml格式是大小写敏感的,使用缩进表示层级关系,缩进时不允许使用Tab键,只允许使用空格,缩进的空格数目不重要,只要相同层级的元素左侧对齐即可. (通常采用两个空格表示一个缩进),冒号后面要加一个空格

3、application.properties比application.yml优先级比较,如果项目中同时存在这两种配置文件(一般不会,除非架构师脑袋有包):

A、如果两个文件中都有一个相同的配置参数,properties里面的配置会生效,yml里面的不会生效,比如在properties里面server.port=60000,yml里面设置为60001,那么启动后端口为60000

B、如果两个配置文件的配置参数不同,那么都会生效,比如注释掉properties里面server.port=60000,那么端口就是60001

4、结论application.properties优先级高于application.yml,至于项目用哪种仁者见仁智者见智,虽然application.properties没有分层的结构但是更加直接

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多