springboot 根据环境切换yml文件
时间: 2024-10-25 11:09:10 浏览: 10
Spring Boot 提供了一种方便的方式来根据部署环境自动选择合适的配置文件。它默认会在`application.properties`或`application.yml`中查找配置,并且支持使用 profiles 功能来管理不同的环境变量。
你可以通过在配置文件名前添加`profile:`前缀来指定特定环境的配置,例如:
```yaml
# application-dev.yml (开发环境)
spring:
datasource:
url: jdbc:mysql://localhost/mydb
# application-prod.yml (生产环境)
spring:
.datasource:
url: jdbc:mysql://production-db.example.com/proddb
```
然后,在你的主应用配置类(通常是`Application`或自定义的配置类)上添加`@Profile`注解,指定哪些环境应该加载哪个配置:
```java
@SpringBootApplication
@Profile("dev") // 这里可以换成"prod"来对应生产环境
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
```
当运行应用时,如果你的应用被标记为`dev`,Spring Boot就会读取`application-dev.yml`;如果标记为`prod`,则会读取`application-prod.yml`。你也可以通过命令行或环境变量如`SPRING_PROFILES_ACTIVE`动态设置当前使用的profile。
阅读全文