两者都是配置文件,在使用上略用区别:
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: false fetchRegistry: false serviceUrl: defaultZone: http://localhost:8801/eureka/
主要的区别有:
1、在properties文件中是以”.”进行分割的, 在yml中是用”:”进行分割;
2、yml的数据格式和json的格式很像,都是K-V格式,并且通过”:”进行赋值;
3、在yml中缩进一定不能使用TAB,否则会报很奇怪的错误;(缩进只能用空格!!!!)
4、每个k的冒号后面一定都要加一个空格;
5、使用spring cloud的maven进行构造的项目,在把properties换成yml后,一定要进行mvn clean insatll
6、properties的优先级高于yml。即如果两个文件中都配置了端口号,只有properties中的端口号有效,而yml文件中端口配置无效。
这个是application.properties的配置端口8080
这个是application.yml的配置端口11000
最后启动项目,显示的端口为8080
因此,如果application.properties和application.yml同时存在的情况下,前者的端口号会覆盖掉后者的端口号