SpringBoot系列之profiles配置多环境用法介绍

SpringBoot系列之profles配置多环境用法介绍

继续上篇博客SpringBoot系列之集成profles配置多环境
之后,继续写一篇博客进行补充

写Spring项目时,在测试环境是一套数据库配置,到了生产环境都要将配置改过来,如果改错了就一堆坑来了,所以Springboot提供了多环境配置,可以实现多种环境配置的动态切换,上篇博客介绍的基于maven和Springboot的profile的使用,本博客补充介绍一下Springboot profile使用的一些细节

1、多Profile文件

在编写profile文件的时候,文件命名可以是application-{profile}.properties/yml,Springboot项目启动时候默认加载的是application.properties/yml的配置

一般来说的多环境配置,显然名称是不固定的

  • application-dev(开发环境)
  • application-test(测试环境)
  • application-uat(预发布)
  • application-prod(生产环境)

具体使用哪个配置,可以在默认配置文件里配置,如使用dev配置文件的:

yml写法:

spring:
  profiles:
    active: dev

properties写法:

spring.profiles.active=dev

2、yaml多文档块写法

server:
  port: 8080
spring:
  profiles:
    active: dev
---
server:
  port: 8081
spring:
  profiles: dev
---
server:
  port: 8082
spring:
  profiles: uat

使用的是dev的配置
SpringBoot系列之profiles配置多环境用法介绍_第1张图片
当然,你不喜欢这种写法,你自己新建一个yml配置文件也是可以的
SpringBoot系列之profiles配置多环境用法介绍_第2张图片

3、maven配置文件写法

profile的配置还可以写在maven配置里

<profiles>
        <profile>
            <id>devid>
            <properties>
                <activatedProperties>devactivatedProperties>
                <project.packaging>jarproject.packaging>
            properties>
            <activation>
                <activeByDefault>trueactiveByDefault>
            activation>
        profile>
        <profile>
            <id>testid>
            <properties>
                <activatedProperties>testactivatedProperties>
                <project.packaging>jarproject.packaging>
            properties>
        profile>
        <profile>
            <id>uatid>
            <properties>
                <activatedProperties>uatactivatedProperties>
                <project.packaging>jarproject.packaging>
            properties>
        profile>
        <profile>
            <id>prodid>
            <properties>
                <activatedProperties>prodactivatedProperties>
                <project.packaging>jarproject.packaging>
            properties>
        profile>
    profiles>


具体使用参考我之前博客SpringBoot系列之profles配置多环境(篇一)

4、profile多环境动态启动方式

ok,配置了profile之后,启动的方式介绍一下

  • 1)配置文件设置
spring:
  profiles:
    active: dev
  • 2)application的Configurations配置
    SpringBoot系列之profiles配置多环境用法介绍_第3张图片
  • 3)jar启动时候配置
    先package,打成jar
    SpringBoot系列之profiles配置多环境用法介绍_第4张图片
java -jar springboot-profile-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

SpringBoot系列之profiles配置多环境用法介绍_第5张图片

  • 4)虚拟机参数设置
    ok,也可以通过虚拟机参数配置
-DSpring.profiles.active=dev

SpringBoot系列之profiles配置多环境用法介绍_第6张图片

你可能感兴趣的:(SpringBoot,Java框架,Springboot,profile多环境配置)