application.properties 和 application.yml,application.yaml的执行顺序
时间: 2023-07-08 15:19:47 浏览: 139
Spring Boot 应用程序的配置文件有两种格式,分别是 `application.properties` 和 `application.yml`(或 `application.yaml`)。这两种格式的执行顺序如下:
1. `application.properties` 中的配置会覆盖 `application.yml` 中的同名配置。
2. 对于相同的配置项,后面加载的配置文件会覆盖前面加载的配置文件中的同名配置项。
3. 对于相同的配置项,应用程序启动时传递的命令行参数会覆盖配置文件中的同名配置项。
例如,如果在 `application.yml` 中定义了如下配置:
```
server:
port: 8080
```
而在 `application.properties` 文件中定义了如下配置:
```
server.port=8888
```
那么最终应用程序的端口号将会是 `8888`,因为 `application.properties` 中的配置会覆盖 `application.yml` 中的同名配置。
另外,如果在启动应用程序时使用了命令行参数 `--server.port=9999`,那么最终应用程序的端口号将会是 `9999`,因为命令行参数会覆盖配置文件中的同名配置项。
相关问题
application.properties和application.yml区别
application.properties和application.yml是用于配置Spring Boot应用程序的文件。它们的主要区别在于文件格式和语法。
application.properties是一个基于键值对的属性文件,使用等号(=)将键和值分隔。例如:
```
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
```
application.yml是一个基于YAML(YAML Ain't Markup Language)格式的配置文件,使用缩进和冒号(:)来表示键和值之间的关系。例如:
```
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
```
相比之下,使用application.yml可以更清晰地表示复杂的配置结构,因为它支持嵌套和列表等数据结构。
另外,由于YAML使用缩进来表示层级关系,因此在使用application.yml时需要注意缩进的正确性。而对于application.properties,由于使用等号分隔键值对,不需要关注缩进。
总结起来,application.properties适用于简单的配置需求,而application.yml适用于复杂的配置需求,并且更易读和易写。根据项目的需要和个人偏好,可以选择使用其中之一来配置Spring Boot应用程序。
application.properties和application.yml有什么区别?
application.properties和application.yml都是Spring Boot项目中用配置应用程序的文件。它们的主要区别在于文件格式和书写方式。
1. application.properties:
- 格式:基于键值对的文本文件,使用等号(=)分隔键和值。
- 书写方式:每个配置项占据一行,例如:`key=value`。
- 示例:
```
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
```
2. application.yml:
- 格式:基于YAML(YAML Ain't Markup Language)的文本文件,使用缩进和冒号(:)表示层级关系和键值对。
- 书写方式:使用缩进表示层级关系,例如:
```
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
```
- 示例:
```
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
```
总结:
- application.properties使用基于键值对的格式,简单直观,适合简单的配置需求。
- application.yml使用基于YAML的格式,结构清晰,支持更复杂的配置需求。