环境切换
在实际开发中,生产、开发和测试等环境的配置文件可能会不同,比如数据源信息,因此SpringBoot帮我们引入profile 功能来快速切换环境
- 首先我们可以写多个环境的配置文件:
第一个是默认配置文件,application- 后面加上具体的环境名称,该名称自定义,代表对应环境下的配置文件,如果我们在本地进行开发,可以将配置写在默认配置文件中,当项目部署到生产环境前,可以在默认配置文件中加入以下配置:
spring:
profiles:
active: prod
即可将配置文件切换到prod 环境
需要注意,程序读取配置文件时,所有环境下的配置文件都会读取,如果默认环境中的配置在设置环境的配置中不存在,则读取默认配置,若都存在,则设置的环境配置优先
- 如果在打包之后想要修改环境,还可以在运行jar包时加入以下内容
java -jar xxx.jar --spring.profiles.active=test
修改配置文件中的内容
条件装配
profile也可以让我们在不同环境中,可以注入不同的组件,即在组件注入(@Bean、@Component )时,加上一个@Profile("prod") 表示该组件在生产环境下注入容器,是一种基于环境的条件注入
profile分组
如果在某个环境中有多个配置文件需要同时生效,则可以利用profile分组功能
spring.profiles.group.myprod[0]=prod1
spring.profiles.group.myprod[1]=prod2
以上配置将prod1,prod2 两个配置文件分为一组,这组的环境为myprod ,因此只需要在默认配置文件中开启myprod 环境即可同时生效这两个配置文件
|