第五章:SpringBoot2.3.0 打包Jar,多个yml或properties配置文件,动态指定spring.profiles.active属性

一)spring.profiles.active简介

含义:显式激活指定的配置文件。

SpringBoot在启动加载配置文件时,如没有明确指定spring.profiles.active属性默认是加载application.ymlapplication.properties文件。

还可以使用以下命名约定来定义特定于配置文件的属性:

application-{profile}.ymlapplication-{profile}.properties

 

作用:特定于配置文件的文件始终会覆盖非特定文件,无论特定于配置文件的文件是在打包jar的内部还是外部。也就是说spring.profiles.active属性具有优先权。

 

二)spring.profiles.active默认指定

在上一章节项目的基础上修改。

增加配置文件,项目结构图如下:

第五章:SpringBoot2.3.0 打包Jar,多个yml或properties配置文件,动态指定spring.profiles.active属性_第1张图片

 

application.yml配置文件内容(默认指定启动local的配置):

server:
  port: 9000

spring:
  profiles:
    active: local

 

application-local.yml配置文件内容:

class:
  method:
    firstmethod: fnA
    secondmethod: fnB
  params:
    paramA: localA
    paramB: localB

 

application-prod.yml配置文件内容:

class:
  method:
    firstmethod: fnA
    secondmethod: fnB
  params:
    paramA: prodA
    paramB: prodB

 

mvn installmvn package命令打包成Jar,并使用java -jar xxx.jar命令启动:

在地址栏输入:http://localhost:9000/test/config

Ctrl+C退出

 

使用java -jar second_springboot-1.0-SNAPSHOT.jar --spring.profiles.active=prod命令启动:

在地址栏输入:http://localhost:9000/test/config

 

三)spring.profiles.active参数动态指定

修改一下application.yml文件spring.profiles.active属性,改为动态参数的形式:

server:
  port: 9000

spring:
  profiles:
    active: @profileActive@

profileActive名称可随意命名,只是在pom.xml使用时,要保持一致。

 

在pom.xml文件中的增加profiles配置:



    4.0.0
    com.oysept
    second_springboot
    1.0-SNAPSHOT
    jar

    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.0.RELEASE
    

    
        UTF-8
    

    
        
        
            org.springframework.boot
            spring-boot-starter-web
        
    

    
        
            
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                    com.oysept.ServerApplication
                
            
        

        
        
        ${project.artifactId}-${profileActive}-${project.version}
        
            
                src/main/resources
                
                true
                
                    
                    application.yml
                    
                    application-${profileActive}.yml
                
            
        
    

    
    
        
            local
            
                local
            
            
                
                true
            
        
        
        
            prod
            
                prod
            
        
    

 

使用mvn package -P prod将项目打包成Jar

结果:

第五章:SpringBoot2.3.0 打包Jar,多个yml或properties配置文件,动态指定spring.profiles.active属性_第2张图片

Jar启动

该方式不需要在命令中指定srping.profiles.active属性了。

 

识别二维码关注个人微信公众号

本章完结,待续,欢迎转载!
 
本文说明:该文章属于原创,如需转载,请标明文章转载来源!

你可能感兴趣的:(SpringBoot2.3.0)