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

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

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

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

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

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

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

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

application-dev.properties:用于开发环境 application-test.properties:用于测试环境 application-prod.properties:用于生产环境 

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

在 application.properties 中配置:

spring.profiles.active=dev

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

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

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

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

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

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

接下来在主配置文件中,配置具体的使用环境即可:03_SpringBoot不同环境之间的相互切换 

运行如下:

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

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

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

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

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

bean的代码如下:

@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 "";    }}


运行结果如下:

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


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js remove方法_js清除session

    js remove方法_js清除session//如果列表中有存在给定的值就删除//functionremoveClass(ele,txt){//varstr=ele.className,//ary=str.split(/\s

    2022年8月2日
    9
  • zencart模板分析

    zencart模板分析ZenCart的模板设计说简单其实也挺简单的说复杂也比较复杂,需要一定的时间来熟悉。一旦你了解了它的结构,就会慢慢习惯了。首先要阅读常见问答部分的:如何添加、制作新模板。ZenCart的设计没有什么特别,与以前设计HTML页面是一样的。只是整个页面分成了好几个部分,并加入了php代码。(设计Zencart模板制作需要理解PHP和CSS样式定义)通常,页面分为页眉(header),页

    2022年7月27日
    6
  • J2ME开发入门(老java游戏)「建议收藏」

    J2ME开发入门(老java游戏)「建议收藏」一.文件下载链接:https://pan.baidu.com/s/1JLTE8UagTVYNVNanQmhysA提取码:iarr1.WTK2.5.2,32位的2.eclipse,老版本的,新版不知道什么问题,不能新建J2ME项目3.eclipseme,J2ME插件4.jdk1.8,32位,因为WTK只有32位二.安装1.jdk直接安装就行2.WTK也能直接安装3.eclipse直接解压出来就能运行4.eclipseme点击help-installnewsoftware点

    2022年7月11日
    20
  • 302状态码解决方法_常见的状态码有哪些

    302状态码解决方法_常见的状态码有哪些http状态码301和302详解及区别

    2022年8月2日
    22
  • 线程join方法用处「建议收藏」

    线程join方法用处「建议收藏」参考博客:https://www.cnblogs.com/lcplcpjava/p/6896904.html第一种情况(不使用join):ThreadJoinTestt1=newThreadJoinTest(“小明”);ThreadJoinTestt2=newThreadJoinTest(“小东”);t1.start();

    2022年5月24日
    41
  • .pfx数字证书制作及操作使用

    .pfx数字证书制作及操作使用#.pfx数字证书制作及操作使用使用工具.pfx创建从*.pfx文件提取密钥Java代码操作#工具下载地址链接:http://pan.baidu.com/s/1jHOyIQa密码:aund#创建.pfxCN=名称(一般填公司名称)OU=单位名称O=作者名称L=地区C=国家第一步打开CertManager

    2022年5月20日
    148

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号