首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >03_SpringBoot不同环境之间的相互切换

03_SpringBoot不同环境之间的相互切换

作者头像
全栈程序员站长
发布2022-07-05 11:43:06
发布2022-07-05 11:43:06
1.1K0
举报

在软件系统开发的不同阶段中,因为当前环境的不同,我们需要进行系统环境的切换,在SpringBoot中针对环境的切换,做了统一处理,是的环境的切换,变得异常简单。

SpringBoot中,application.properties 是 springboot 在运行中所需要的配置信息。

当我们在开发阶段,使用自己的机器开发,测试的时候需要用的测试服务器测试,上线时使用正式环境的服务器。

这三种环境需要的配置信息都不一样,当我们切换环境运行项目时,需要手动的修改多出配置信息,非常容易出错。

为了解决上述问题,springboot 提供多环境配置的机制,让开发者非常容易的根据需求而切换不同的配置环境。

在 src/main/resources 目录下创建三个配置文件:

代码语言:javascript
复制
application-dev.properties:用于开发环境 application-test.properties:用于测试环境 application-prod.properties:用于生产环境 

我们可以在这个三个配置文件中设置针对不同运行环境,配置不同的信息,application.properties 配置公共的信息。

在 application.properties 中配置:

代码语言:javascript
复制
spring.profiles.active=dev

表示激活 application-dev.properties 文件配置, springboot 会加载使用 application.properties 和 application-dev.properties 配置文件的信息。

同理,可将 spring.profiles.active 的值修改成 test 或 prod 达到切换不同运行环境的目的。

例如我们在不同的环境下,我们的web服务器tomcat需要使用不同的端口,那么此时的配置文件信息如下:

接下来在主配置文件中,配置具体的使用环境即可:

运行如下:

切换项目启动的环境不仅对读取配置文件信息有效,也可以对 Bean 有效。

当我们需要对不同环境使用不同的 Bean 时,可以通过 @Profile 注解进行区分,如下:

创建一个JavaBean,项目结构如下:

bean的代码如下:

代码语言:javascript
复制
@Configurationpublic class BeanConfiguration {    @Bean    @Profile("dev")    public String devDemo() {        System.out.println("开发环境的 Bean");        return "";    }    @Bean    @Profile("test")    public String testDemo(){        System.out.println("测试环境的 Bean");        return "";    }    @Bean    @Profile("pro")    public String proDemo() {        System.out.println("生成环境的 Bean");        return "";    }}

运行结果如下:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111296.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年8月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档