application.properties和application.yaml有什么作用
时间: 2023-09-26 14:08:32 浏览: 50
application.properties和application.yaml都是Spring Boot应用程序的配置文件,用于配置应用程序的一些参数。它们可以配置应用程序的端口号、数据库连接信息、日志等级、国际化配置、缓存配置、安全配置等等。两者的作用相同,只是语法不同。application.properties使用key=value的格式,而application.yaml使用缩进和冒号的格式。根据个人喜好和项目需求,可以选择使用其中一种或两种配置文件。
相关问题
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的格式,结构清晰,支持更复杂的配置需求。
application.properties 和 application.yml,application.yaml的执行顺序
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`,因为命令行参数会覆盖配置文件中的同名配置项。