为了更好地适应不同的开发、测试、生产等不同环境,SpringBoot 提供了 Profile 多环境配置方法,可以方便地根据不同的环境变量来配置应用程序各项参数。下面是完整攻略。
1. 创建不同环境的配置文件
在 src/main/resources
目录下创建三个配置文件,分别是 application-dev.yml
、application-test.yml
、application-prod.yml
,分别对应开发、测试、生产环境。
# application-dev.yml
server:
port: 8080
logging:
level:
org.springframework.web: DEBUG
# application-test.yml
server:
port: 8081
logging:
level:
org.springframework.web: INFO
# application-prod.yml
server:
port: 8082
logging:
level:
org.springframework.web: WARN
2. 设置默认配置文件
在 application.yml
或者 application.properties
中设置默认配置文件为 application-dev.yml
。
spring:
profiles:
active: dev
3. 切换环境
在启动命令中添加参数 --spring.profiles.active=dev
或者 -Dspring.profiles.active=dev
,可以切换到不同的环境。
4. 示例
假设有一个简单的 SpringBoot Web 应用程序,提供 /hello
接口,返回一个字符串。每个环境的字符串都不一样,开发环境返回 Hello dev!
,测试环境返回 Hello test!
,生产环境返回 Hello prod!
。
@RestController
public class HelloController {
@Value("${hello}")
private String hello;
@GetMapping("/hello")
public String hello() {
return hello;
}
}
在 src/main/resources/application.yml
中添加默认配置:
spring:
profiles:
active: dev
hello: Hello dev!
在 src/main/resources/application-dev.yml
中添加开发环境配置:
hello: Hello dev!
在 src/main/resources/application-test.yml
中添加测试环境配置:
hello: Hello test!
在 src/main/resources/application-prod.yml
中添加生产环境配置:
hello: Hello prod!
启动命令中添加参数 --spring.profiles.active=dev
,访问 http://localhost:8080/hello
获取返回值为 Hello dev!
的字符串。
启动命令中添加参数 --spring.profiles.active=test
,访问 http://localhost:8081/hello
获取返回值为 Hello test!
的字符串。
启动命令中添加参数 --spring.profiles.active=prod
,访问 http://localhost:8082/hello
获取返回值为 Hello prod!
的字符串。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot中的Profile多环境配置方法 - Python技术站