• SpringBoot之yml与properties配置文件格式的区别


    概念:

    SpringBoot支持两种格式的配置文件,一种是yml,而另一种就是properties,默认的文件名为application.yml或者.properties

    为什么有了properties之后还要有yml呢?

      因为properties配置文件存在数据冗余性,在properties配置文件中一切配置都需要从头写到为,

      并且Key不能重复,这就导致了需要Key的长度比较多,并且需要分类,这就导致了数据的冗余性,

      而yml这种格式的配置文件,通过层级结构,让数据更加中心化,减少冗余性

    application.properties

    1. server.port=8801
    2. eureka.client.register-with-eureka=false
    3. eureka.client.fetch-registry=false
    4. eureka.client.serviceUrl.defaultZone=http\://localhost\:${server.port}/eureka/

    yml

    1. server:
    2. port: 8801
    3. eureka:
    4. client:
    5. registerWithEureka: false
    6. fetchRegistry: false
    7. serviceUrl:
    8. defaultZone: http://localhost:8801/eureka/

    但是一定要记得如果写值的话,一定要有一个空格,缩进不能用tab得用空格。现在一般项目中已经全部采用yml格式的配置文件了这个yml一般用于配置集成环境的一些参数,比如启动的端口和Spring上下文等参数

    执行顺序

    如果工程中同时存在application.properties文件和 application.yml文件,yml文件会先加载,而后加载的properties文件会覆盖yml文件。如果两个文件中都配置了端口号,只有properties中的端口号有效,而yml文件中端口配置无效,建议工程中,只使用其中一种类型的文件。

    注意

    使用spring cloud的maven进行构造的项目,在把properties换成yml后,一定要进行mvn clean insatll

  • 相关阅读:
    继承、封装和多态
    软件测试需求分析
    cf1200构造15道
    ElasticSearch(3)
    c语言中啥时候用double啥时候用float?
    centos上安装clickhouse和启动使用
    unet训练为什么报错IndexError: Target 7 is out of bounds.
    docker部署go项目
    动态内存管理
    C++:类的默认成员函数------构造函数&&析构函数(超详细解析,小白一看就懂!)
  • 原文地址:https://blog.csdn.net/mnn12/article/details/136770711