springboot 2.1 实践教程(五)-多环境配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/java_cxrs/article/details/89441519

在我们开发Web应用中会有开发环境和生产环境,比如我们的配置文件中数据库相关的配置,在开发环境可能就是一个开发环境的数据库,但是程序要上线需要切换到生产环境的数据库。

大部分做法可能是在上线前将我们的配置文件手动改成生产环境相应的配置。这样做因为人为失误可能会影响生产环境的配置。

Spring Boot 提供了多环境自动切换的功能,可以让我们更好的切换不同的环境配置文件上去。

下面我们以yml的配置文件讲解多环境配置的方法。

假如我们现有开发环境和生产环境,

开发环境端口是8080,数据库连接地址是localhost,用户名test 密码 test

生产环境的端口是9090,数据库连接地址是124.125.116.28 用户名是prd,密码:123456

  • 步骤1:在POM文件引入mysql依赖包
<!-- Mysql驱动包 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
  • 步骤2:创建 开发环境的配置文件application-dev.yml,生产环境的配置文件application-prd.yml,然后将相应的配置内容填写到对应的配置文件中

application-dev.yml

#开发环境
server:
  port: 8080
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: test
    password: test

application-prd.yml

#生产环境
server:
  port: 9090

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://124.125.116.28:3306/prd
    username: prd
    password: 123456
  • 步骤3:修改application.yml文件

如果我们需要切换至开发环境则 将spring.profiles.active设置为dev

server:
  servlet:
    context-path: /
  tomcat:
    uri-encoding: UTF-8
spring:
  http:
    encoding:
      charset: UTF-8
  profiles:
    active: dev

person:
  name: username
  password: 123456
  address: 127.0.0.1

如果我们需要切换至生产环境则将spring.profiles.active设置为prd

server:
  servlet:
    context-path: /
  tomcat:
    uri-encoding: UTF-8
spring:
  http:
    encoding:
      charset: UTF-8
  profiles:
    active: prd

person:
  name: username
  password: 123456
  address: 127.0.0.1
  • 步骤4:运行程序SpringBootLearnApplication

我们可以看到控制台,当切换到开发环境时输出的端口为8080

当切换到生产环境时输出的端口为9090

综上说明我们的多环境配置是成功的。

介绍spring.profiles.include

如果在Spring Boot应用中分为开发环境,生产环境;每个环境均有db,redis的配置,那么spring.profiles.include就能发挥它的作用了,方面我们不同环境的配置一键切换。

例如:

application.yml 内容如下

spring.profiles.active:  dev #dev、prd两种环境配置

新建 application-dev.yml(开发环境入口配置)、application-devDb.yml(开发环境数据库配置)

application-devReids.yml(开发环境Redis配置)

application-prd.yml (生产环境入口配置)、application-prdDb.yml (生产环境数据库配置)

application-prdReids.yml(生产环境Redis配置)

在application-dev.yml中设置以下内容

spring.profiles.include: devDb,devRedis

在application-prd.yml中设置以下内容

spring.profiles.include: prdDb,prdRedis

这样在切换到dev环境时同时激活了 application-dev.yml、application-devDb.yml、application-devReids.yml

切换到prd环境时同时激活了 application-prd.yml、application-prdDb.yml、application-prdReids.yml

猜你喜欢

转载自blog.csdn.net/java_cxrs/article/details/89441519
今日推荐