概念:
SpringBoot支持两种格式的配置文件,一种是yml,而另一种就是properties,默认的文件名为application.yml或者.properties
为什么有了properties之后还要有yml呢?
因为properties配置文件存在数据冗余性,在properties配置文件中一切配置都需要从头写到为,
并且Key不能重复,这就导致了需要Key的长度比较多,并且需要分类,这就导致了数据的冗余性,
而yml这种格式的配置文件,通过层级结构,让数据更加中心化,减少冗余性
application.properties
server.port=8801
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http\://localhost\:${server.port}/eureka/
yml
server:port: 8801
eureka:client:registerWithEureka: falsefetchRegistry: falseserviceUrl: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