在Spring Boot项目中,application.properties和application.yml是两种常用的配置文件格式,它们各自具有不同的特点和适用场景2。以下是它们之间的主要差异2:

性能差异 4:
加载机制 2:

application.properties文件会被加载到内存中,并且只加载一次,之后直接从内存中读取2。因此,无论是在应用启动时还是运行时读取application.properties文件,对性能的影响都可以忽略不计2。

配置项的优先级 1:

当application.properties和application.yml同时存在时,同样的参数,最终生效的是application.properties中的配置2。如果项目里因为一些“逆天”原因,导致同时存在这两个配置,那么就要小心覆盖问题了2。

语法差异 :
properties 4:

使用key=value的形式,例如2:


server.port=8080

spring.datasource.url=jdbc:mysql://localhost:3306/mydb

spring.datasource.username=root

spring.datasource.password=password

yml 4:

使用key: value的形式,例如2:


server:

port: 8080

spring:

datasource:

url: jdbc:mysql://localhost:3306/mydb

username: root

password: password

功能差异 :
yml的优势 2:

语法更简洁,且可读性更高2。

可以更好地配置多种数据类型,比如对象和集合2。

支持多种语言,通用性更好2。

加载顺序 :
Spring Boot会按照特定的顺序加载配置文件,优先级从高到低为2:

命令行参数2

JAR包外面的配置文件(如/config目录下)1

源文件夹下的/config目录1

源文件下(也就是项目的根目录下)1。

建议3
统一格式 :一般情况下,建议统一使用一种配置文件格式(如application.properties或application.yml),以降低故障率8。

配置项优先级 :注意配置项的优先级,避免不同配置文件之间的冲突1。

可读性 :如果项目需要配置复杂的数据结构,使用application.yml可能会更简洁和易读2。

通过以上信息,可以根据具体需求和团队习惯选择合适的配置文件格式,并确保配置文件的结构和加载顺序符合项目的需求。

报错:Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.2024-11-12T20:11:44.020+08:00 ERROR 10580 --- [           main] o.s.boot.SpringApplication               : Application run failed

是因为同时配置了文件application.properties 和 application.yml这时需要删除一个文件。

1.删除application.properties

2cb7a54e2a7748138b76c5839d6ee9ac.png

effeb2518a174e5a97892420be24d045.png

ecf60b5f69a3481998c71857c1c2b8b3.png

 选择要修改的maven项目

输入指令 

-X clean install

 点击OK

045800aa2ed643b8a3ba2e9ca0145323.png

点击绿色三角运行clean 程序, 需要出现   [INFO] BUILD SUCCESS   则表示成功

b2b901adc7474a388c64123040ccf00d.png

 好了,现在可以新建一个application.yml文件了

如果有可以不用新建

【注意,如果是maven多模块工程,如果这个是子级maven,需要正确引入父级maven才可以运行,否则会报错启动不了】

部分版本spring boot 需要引入依赖,如果使用的spring boot 2.2.7 版本,不需要加

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐