SpringBoot yml文件配置
时间: 2025-06-05 08:32:02 浏览: 20
### Spring Boot 中 YAML 文件的配置方法与示例
YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化格式,Spring Boot 支持使用 `application.yml` 文件作为配置文件。相比于传统的 `.properties` 文件,YAML 提供了更清晰的层次结构和更好的可读性[^2]。
以下是关于如何在 Spring Boot 中使用 YAML 文件进行配置的具体方法和示例:
#### 1. 基本语法
YAML 使用缩进来表示层级关系,而不是像 JSON 那样使用大括号 `{}`。每个层级必须以两个空格为单位进行缩进,不能使用制表符 `Tab`。以下是一个简单的 YAML 配置示例:
```yaml
server:
port: 8081
address: 127.0.0.1
spring:
application:
name: my-application
```
上述配置中,`server.port` 被设置为 `8081`,`server.address` 被设置为 `127.0.0.1`,而 `spring.application.name` 被设置为 `my-application`[^2]。
#### 2. 数据源配置
Spring Boot 可以通过 YAML 文件轻松配置数据源。以下是一个 MySQL 数据源的示例配置:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
```
此配置指定了数据库连接的 URL、用户名、密码以及驱动类名称[^1]。
#### 3. 多环境配置
Spring Boot 支持多环境配置文件,例如 `application-dev.yml` 和 `application-prod.yml`。可以通过 `spring.profiles.active` 属性指定当前激活的环境。以下是一个示例:
```yaml
spring:
profiles:
active: dev
---
spring:
config:
activate:
on-profile: dev
datasource:
url: jdbc:mysql://dev-db:3306/devdb
username: devuser
password: devpassword
---
spring:
config:
activate:
on-profile: prod
datasource:
url: jdbc:mysql://prod-db:3306/proddb
username: produser
password: prodpassword
```
在此示例中,当激活 `dev` 环境时,将加载开发环境的数据库配置;当激活 `prod` 环境时,将加载生产环境的数据库配置[^3]。
#### 4. 缓存配置
Spring Boot 还支持通过 YAML 文件配置缓存。以下是一个启用 EhCache 缓存的示例:
```yaml
spring:
cache:
type: ehcache
```
此配置启用了 EhCache 作为缓存管理器[^1]。
#### 5. 日志配置
Spring Boot 允许在 YAML 文件中自定义日志级别和输出格式。以下是一个日志配置示例:
```yaml
logging:
level:
root: INFO
com.example: DEBUG
file:
name: app.log
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
```
此配置将根日志级别设置为 `INFO`,并将 `com.example` 包的日志级别设置为 `DEBUG`。同时,日志将被写入到 `app.log` 文件中,并使用指定的输出格式[^4]。
#### 6. 引入外部依赖
如果需要解析复杂的 YAML 文件,可以引入 `snakeyaml` 依赖。以下是一个 Maven 依赖示例:
```xml
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.20</version>
</dependency>
```
此依赖可以帮助解析 YAML 文件中的复杂嵌套结构[^5]。
### 注意事项
- YAML 文件对缩进非常敏感,请确保每个层级的缩进正确。
- 不要使用制表符 `Tab`,只能使用空格。
- 如果配置文件中有多个文档块(如多环境配置),请使用 `---` 分隔每个文档块。
阅读全文
相关推荐


















