SpringBoot 多环境yml的配置与打包

SpringBoot 多环境配置与打包 启动的两种方式

前言:在我们使用SpringBoot 作为框架来开发项目的时候,一般我们大致会分为dev(开发),test(测试),prod(生产)这几种环境。每套环境的数据库配置以及项目配置或多或少是存在一些差异的,针对上诉情况 所以,本文就要探讨一下 项目中如何切换对应的配置文件并启动…

方式一 yml中指定
1.修改配置文件

SpringBoot项目默认配置文件在src/main/resources下的 application.properties

个人习惯使用YML格式,所以修改项目名文application.yml

将此文件为项目启动配置主文件

配置文件内容如下

spring:
  application:
    name: springboot-profile
  profiles:
    active: dev

配置文件解释: 创建一个application名为springboot-profile 配置环境为 dev 环境 那么在启动时就会加载application-dev.yml 这个配置文件

2.创建不同环境的application.yml

SpringBoot 多环境yml的配置与打包_第1张图片
如果想要更换其他环境 ,如test测试环境 只需要在主配置文件 application.yml中修改 active: dev 为 active: test 那么项目在启动时就会加载application-test.yml配置文件

方式二 maven 执行对应命令打包对应配置文件
(1)创建不同环境的application.yml

SpringBoot 多环境yml的配置与打包_第2张图片

(2)在application.yml 主配置文件中添加如下属性
server:
  port: 8080
spring:
  application:
    name: springboot-profile
  profiles:  #指定执行环境
    active: @package.environment@

(3)不同环境指定不同的配置属性

例如application-dev.yml

# 开发环境
author:
  name: leileidev

例如application-prod.yml

#生产线上环境
author:
  name: leileiprod
(4)pom.xml 添加依赖以及属性

profiles 与 dependencies 与build 平级

 
    
        
            dev
            
                dev
            
            
            
                true
            
        

        
            test
            
                test
            
        

        
            
            prod
            
                prod
            
        
    


    
        
            
                src/main/resources
                true
                
                    application.yml
                    application-${package.environment}.yml
                    **/*.xml
                
            
        


        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    
(5)指定环境打包

进入项目目录下 执行

mvn  clean install -P dev

则会打包application.yml与 application-dev.yml在打包文件 target中

打包 test

mvn  clean install -P test 

打包 prod

mvn  clean install -P prod

idea 中操作如下:

SpringBoot 多环境yml的配置与打包_第3张图片
出现 build success 则说明打包成功

SpringBoot 多环境yml的配置与打包_第4张图片
运行对应jar 包测试

SpringBoot 多环境yml的配置与打包_第5张图片

也可创建一个简单控制层进行测试

 
            org.springframework.boot
            spring-boot-starter-web
        
@RestController
@RequestMapping("profile")
public class TestProfileController {
    @Value("${author.name}")
    private String name;
    @GetMapping("/port")
    public String getPort() {
        return name;
    }
}

SpringBoot 多环境yml的配置与打包_第6张图片
到此 结束!

你可能感兴趣的:(SpringBoot)