springboot 加载application.yml
时间: 2023-05-08 17:58:45 浏览: 140
Spring Boot 会自动加载名为 `application.yml` 或 `application.properties` 的配置文件,这些文件必须放在 Classpath 下的 `config` 或 `classpath root` 目录下。如果没有指定特定的 `spring.config.location` 属性,Spring Boot 将使用默认的搜索路径来查找并加载这些文件。
在 `application.yml` 文件中,可以使用 YAML 格式表示各种类型的配置信息。其中,`---` 分隔符用于分隔多个文档,在同一个 `application.yml` 文件中可以定义多个文档,每个文档对应一个 `@ConfigurationProperties` 类型的 Bean 配置。
除了常规的键值对配置值外,还可以通过 `spring.profiles` 属性配置不同的 Profile 环境,例如:
```yml
spring:
profiles:
active: dev # 激活 dev 环境
---
spring:
profiles: dev # 针对 dev 环境配置
datasource:
url: jdbc:mysql://localhost:3306/dev_db
username: dev_user
password: dev_password
---
spring:
profiles: prod # 针对 prod 环境配置
datasource:
url: jdbc:mysql://localhost:3306/prod_db
username: prod_user
password: prod_password
```
在代码中,可以通过 `@ConfigurationProperties` 注解绑定 YAML 配置到 Java Bean 中,例如:
```java
@Configuration
@ConfigurationProperties(prefix = "datasource")
public class DataSourceConfig {
private String url;
private String username;
private String password;
// getter and setter
}
```
当 `DataSourceConfig` Bean 被创建时,Spring Boot 就会从 `application.yml` 文件中读取以 `datasource` 为前缀的配置值,并设置到 `DataSourceConfig` 对象中,从而完成配置注入。
阅读全文