Spring Boot YML 掀翻 Properties!!

.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 教程,转载请原样保留本信息。

原文地址:https://www.cnblogs.com/javastack/p/11280383.html

时间: 2024-10-14 09:32:14

Spring Boot YML 掀翻 Properties!!的相关文章

spring boot项目application.properties多环境配置文件、jar包外部配置文件

一.简介 spring boot项目application.properties文件存放及使用介绍 二.方法一多环境配置文件 我们一般都会有多个应用环境,开发环境.测试环境.生产环境,各个环境的配置会略有不同,我可以根据这个创建多份配置文件,由主配置文件来控制读取那个子配置 创建spring boot项目后可以同时创建多个.properties文件,只要符合它要求的格式即可 格式:application-{profile}.properties:{profile}是变量用于自定义配置文件名称 分

spring boot +mybatis(通过properties配置) 集成

注:日常学习记录贴,下面描述的有误解的话请指出,大家一同学习. 因为我公司现在用的是postgresql数据库,所以我也用postgresql进行测试 一.前言 1.Spring boot 会默认读取src/main/resource路径下的application.properties(或者application.yml)文件的内容,一般自定义的配置文件也位于此目录之下. 2配置文件会自动加载,意思就是将文件读取到Spring容器之中,更确切的说就是将各个配置项装载到Spring上下文容器之中供

Spring boot配置文件application.properties

# =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application.               ^^^ # =====================

Spring boot配置文件 application.properties

# =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application.               ^^^ # =====================

Spring Boot Common application properties(转载)

转自官方文档:http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html 版本:1.5.4.RELEASE # =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is pro

附录 B. Spring Boot 配置文件 application.properties

#########COMMON SPRING BOOT PROPERTIES ######========CORE PROPERTIES=========== #SPRING CONFIG (ConfigFileApplicationListener) spring.config.name= # config file name (default to 'application') spring.config.location= # location of config file #PROFIL

Spring Boot 配置文件application.properties

#########COMMON SPRING BOOT PROPERTIES ######========CORE PROPERTIES=========== #SPRING CONFIG (ConfigFileApplicationListener) spring.config.name= # config file name (default to 'application') spring.config.location= # location of config file #PROFIL

Spring Boot2 系列教程(四)理解Spring Boot 配置文件 application.properties

在 Spring Boot 中,配置文件有两种不同的格式,一个是 properties ,另一个是 yaml . 虽然 properties 文件比较常见,但是相对于 properties 而言,yaml 更加简洁明了,而且使用的场景也更多,很多开源项目都是使用 yaml 进行配置(例如 Hexo).除了简洁,yaml 还有另外一个特点,就是 yaml 中的数据是有序的,properties 中的数据是无序的,在一些需要路径匹配的配置中,顺序就显得尤为重要(例如我们在 Spring Cloud

Spring Boot 项目 application.properties配置说明

#======================================================================================# ★☆★☆★☆★☆★☆ spring boot 配置中心 ★☆★☆★☆★☆★☆#====================================================================================== springBoot application.properties 基