读取 application.yml配置文件
时间: 2024-10-25 13:02:23 浏览: 27
在Spring Boot应用中,读取`application.yml`配置文件是非常常见的操作,它允许开发者将环境变量和系统属性存储在独立的配置文件中,而不是硬编码到代码里。`application.yml`通常包含了应用程序的一些基本配置,如数据库连接信息、邮件服务器配置等。
为了读取`application.yml`,首先需要在Spring Boot项目的pom.xml或build.gradle文件中添加对Spring Boot Actuator或Spring Cloud Config的支持,以便支持配置文件的动态加载。
对于Java配置(使用@ConfigurationProperties注解):
1. 首先在你的配置类上添加`@ConfigurationProperties(prefix="app")`,其中"app"是你在YAML文件中定义配置项前缀的别名:
```java
@ConfigurationProperties(prefix = "app")
public class AppConfig {
private String databaseUrl;
private int port;
// getters and setters...
}
```
2. 在`application.yml`中编写配置:
```yaml
app:
databaseUrl: jdbc:mysql://localhost/mydb
port: 8080
```
然后通过@Autowired注入AppConfig实例即可访问配置值:
```java
@Autowired
private AppConfig appConfig;
```
对于YAML配置(使用`@Profile`和`@ConditionalOnProperty`):
如果你想要基于特定环境(如dev、prod)加载不同的配置,可以使用`@Profile`。例如:
```java
@Configuration
@Profile("dev")
@ConfigurationProperties(prefix = "app.dev")
public class DevAppConfig {
// ...
}
@Configuration
@Profile("prod")
@ConfigurationProperties(prefix = "app.prod")
public class ProdAppConfig {
// ...
}
```
在启动应用时,Spring会自动选择相应的配置。
阅读全文