.properties 配置文件大家应该都很熟悉,键值对嘛,.yml 配置文件栈长也是从 Spring Boot 开始了解到的。

那么,这两种格式的配置文件到底有哪些区别呢?哪个更好?能不能替换代替?今天,栈长就来解开这些谜团,看 YML 能不能掀翻Properties。。。

.properties格式:

spring.application.name=register-center
spring.security.user.name=javastack
spring.security.user.password=javastack

.yml格式:

spring:
application:
name: register-center
security:
user:
name: javastack
password: javastack

如上所示,.properties 是键值对形式,.yml 是树状结构的,配置更方便,可以直接写中文,阅读也可友好。

这还不算什么,yml最强大的是能节省很多配置,如下所示:

---
spring:
profiles: rc1 server:
port: 8761 eureka.instance.hostname: eureka1 ---
spring:
profiles: rc2 server:
port: 8762 eureka.instance.hostname: eureka2 ---
spring:
profiles: rc3 server:
port: 8763 eureka.instance.hostname: eureka3

以上配置,yml一个配置文件就能搞定,而用 properties 则需要三个文件,具体你可以看下Java技术栈微信公众号发过的《Spring Boot Profile不同环境配置》这篇文章就知道 yml 的厉害了。

但在 .yml 配置文件中需要注意以下几点:

  • 键冒号后面需要带一个空格
  • 缩进只能用空格,不能用tab
  • @PropertySource注解不能加载yml文件

不考虑 @PropertySource 注解,栈长现在用 yml 完全可以代替 properties 配置文件,能用 yml 就不会用 properties 了,可以看这篇文章:Spring Boot读取配置的几种方式

当然这只是在 Spring Boot 中能完全替代,某些框架还是需要用 properties 的,如:某些日志配置文件、第三方的配置文件等。

你还知道其他的 yml 的更多玩法不,欢迎留言分享~

好了,今天的分享就到这里,关注Java技术栈微信公众号,在后台回复:boot,获取栈长整理的更多的 Spring Boot 教程,都是实战干货,以下仅为部分预览。

  • Spring Boot 读取配置的几种方式
  • Spring Boot 如何做参数校验?
  • Spring Boot 最核心的 25 个注解!
  • Spring Boot 2.x 启动全过程源码分析
  • Spring Boot 2.x 新特性总结及迁移指南
  • ……

本文原创首发于微信公众号:Java技术栈(id:javastack),关注公众号在后台回复 "boot" 可获取更多 Spring Boot 教程,转载请原样保留本信息。

最新文章

  1. [转]ArcIMS 中地图坐标参考设置(ArcGIS Unknown Spatial Reference)
  2. C# yield
  3. Class类的理解
  4. 在Ubuntu 64位OS上运行hadoop2.2.0[重新编译hadoop]
  5. AIX查看内存卡槽
  6. NDK编译FFMpeg[Linux]
  7. 【JS】Beginner2:Variables & Data
  8. 浅析Mysql数据回滚错误的解决方法
  9. 最小生成树Prim
  10. 关于sping quartz定时执行理解与思考
  11. 我的webstorm 使用总结
  12. [Codeforces]906D Power Tower
  13. [数学笔记Mathematical Notes]1-调和级数发散的一个简单证明
  14. 一些日期的计算方式 PHP
  15. 【python】常用内建模块
  16. php中urlencode与rawurlencode的区别
  17. 音视频编解码: YUV采样格式中的YUV444,YUV422,YUV420理解
  18. 字符串相似度算法(编辑距离Levenshtein Distance)的应用场景
  19. ORA-38301:can not perform DDL/DML over objects in Recycle Bin
  20. sql逻辑查询 理论知识

热门文章

  1. bootstrap fileinput实现限制图片上传数量及如何控制分批多次上传
  2. JAVA基础之事务
  3. Java 相等判断
  4. python连接mysql服务端
  5. MySQL/MariaDB数据库的各种日志管理
  6. Layui外部js修改表格内容
  7. pip的安装、以及使用方法。
  8. 《Java程序设计实验》 软件工程18-1,3 OO实验2
  9. ASP.NET Core ---- 系列文章
  10. python数据可视化(一)——绘制随机漫步图