在实际开发与应用部署的时候,往往遇到需要发布到不同环境的情况,而每个环境的数据库信息、密钥信息等可能会存在差异。可能需要不断进行环境的切换和打包部署,今天我们来看看具体是怎么做的。
配置文件
在resources目录下创建多个环境的配置文件,分别命名bootstrap-dev.yml、bootstrap-prod.yml、bootstrap-test.yml,分别对应开发环境、生产环境、测试环境。
bootstrap.yml与application.yml执行顺序
bootstrap.yml用来程序引导时执行,应用于更加早期配置信息读取,如可以使用来配置application.yml中使用到参数等
application.yml 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。
加载顺序
bootstrap.yml > application.yml > application-dev(prod).yml
目录结构如下
bootstrap.yml
server: port: 7001spring: profiles: active: dev
利用spring.profiles.active来指定对应的配置文件(生产、开发、测试)
bootstrap-dev.yml
spring: datasource: url: jdbc:mysql://127.0.0.1:3306/dev username: dev password: dev888
测试访问结果
helloController
@RestControllerpublic class HelloController { @Value("${spring.datasource.url}") private String url; @GetMapping("show") public String test(){ return url; }}
启动
浏览器访问
maven打包
在pom.xml文件添加依赖
<build> <plugins> <plugin> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-maven-pluginartifactId> plugin> plugins>build>
之前我们单独环境打包运用命令mvn clean package,现在也是一样,你想打什么环境的包,只需要将
spring.profiles.active修改成对应的值就好。例如这里我们需要打生产环境的包,只需要修改active为prod
然后运用命令
mvn clean package
打包成jar,在target目录下
我们来测试一下
可以看到我们启动的配置文件为prod
浏览器访问
总结
通过修改 spring.profiles.active的值,可以轻松方便的多环境之间切换与打包,为我们的开发提高了效率。![7259ad71a26cb4d901cfe4b807a67f99.png](https://img-blog.csdnimg.cn/img_convert/7259ad71a26cb4d901cfe4b807a67f99.png)