(四) spring boot 多环境配置

由于在实际的工作中需要对于不同的环境来进行调试和写bug,所以我们需要一个快捷的方式来进行各个环境的切换,比如说开发、测试、生产三个环境,如果需要从一个环境切换到另一个环境,肯定不可以去修改配置文件,所以我们就要切换一下配置文件

配置文件中记录了很多内容,包括数据库连接、中间件链接、还有一些常量参数的配置等等,这些都是要陪知道配置文件当中的

本文主要介绍的便是在springboot中配置文件的切换与部分使用

自定义参数


我们对于有些可配置,或者一些有可能会变的量,都会选择存放在配置文件当中,并在程序中做一个映射,将配置文件中的参数映射到程序当中。

我们可以将这些变量定义在配置文件 application.yml 中

com:
  banana:
    name: Banana
    title: CSDN博客

在程序中我们就可以做出映射,使用@Value(“name”)注解即可

    @Value("${com.banana.name}")
    private String name;
    
    @Value("${com.banana.title}")
    private String title;

这样我们就可以将值映射到我们的程序当中

目前这些内容我们是在开发环境做的,但是有时候我们的程序写完之后,需要将其进行在测试环境上部署,在测试环境上我们需要配置不同的name和title,这时候我们就需要将name和title进行修改。

但是这样来直接修改的话是不可取的,所以我们需要将配置文件进行修改,整理出来的配置文件一个用于开发化境,另外一个用于测试化境,这样我们就可以在不同环境使用不同的配置文件,而不需要再去修改

配置多个配置文件


我们的springboot项目本身是只有一个配置文件的,名为application.properties或者application
.yml

我们对其进行修改,修改为多个配置文件,开发环境为 application-dev.yml ,测试环境为 application-test.yml ,我们则可以在不同环境的配置文件进行不同的配置

比如说:
application-dev.yml

com:
  banana:
    name: Banana-dev
    title: CSDN博客

application-test.yml

com:
  banana:
    name: Banana-test
    title: CSDN博客

程序中的调用

@RestController
public class HelloWorldController {
    @Value("${com.banana.name}")
    private String name;

    @Value("${com.banana.title}")
    private String title;

    @GetMapping("hello")
    private String hello() {
        return "欢迎来到 " + name + " 的 " + title;
    }
}

配置程序运行启动方式


通过jar包启动

java -jar xxx.jar --spring.profiles.active=test

和平常的jar包启动方式相同,都是通过 java -jar 方式来启动jar包,只不过我们在其后添加了一句 --spring.profiles.active=test 用来标识是哪个配置文件生效

程序运行,在swagger页面进行测试,如此我们便可达到不同环境启动的效果
在这里插入图片描述

在idea中如何配置不同环境启动

idea中,选择Edit Configuration
在这里插入图片描述
下方有一个Active profiles选项,我们选择这个选项进行启动环境的选择,要和在配置文件上的命名相对应,是什么环境,我们就配置什么环境
在这里插入图片描述
如果需要添加新的环境,只需要在左上角点击复制按钮,修改Name和Active profiles,即可实现不同环境启动
在这里插入图片描述
在启动时要记得选择是哪个启动,可以开发和测试同时启动进行测试是否成功

推荐阅读


Spring Boot 配置文件详解:自定义属性、随机数、多环境配置等

本系列文章


Banana的SpringBoot系列博客

(一) SpringBoot 项目初始化 + 配置swagger页面

(二) SpringBoot 整合 MyBatis-plus

(三) SpringBoot之使用Swagger配置详解

(四) spring boot 多环境配置

(五) spring boot 配置使用 redis

发布了129 篇原创文章 · 获赞 147 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq1515312832/article/details/103232875