Spring Boot Profile多环境配置的两种方式

方式一

把环境信息配置在不同的配置文件中,在编译打包时加载不同的配置文件即可

1. 创建多个配置文件

  • application.properties:

spring.profiles.active=@profileActive@
  • ​​​​​application-dev.properties:
test.name=vermouth.dev
test.age=18.dev
  • application-prod.properties:

test.name=sherry.prod
test.age=20.dev

 

2. 修改pom.xml



​
    com.example
    demo
    0.0.1-SNAPSHOT
    war
​
    
​
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
        
            
                src/main/resources
                
                    application*.properties
                
            
            
                src/main/resources
                true
                      
                    application.properties
                    application-${profileActive}.properties
                
            
        
    
​
    
        
            dev
            
                true
            
            
                dev
            
        
​
        
            prod
            
                prod
            
        
    

3. 打包

mvn clean package -P prod

如图可见,打包后就只加载了application.propertiesapplication-prod.properties

打包后的application.properties中:

spring.profiles.active=prod

方式二

把环境信息配置在不同的配置文件中,同时在application.properties中使用占位符,再编译打包时动态地把那些占位符替换掉。

1. 创建多个配置文件

  • appication.properties:

test.name=@name@            # spring boot的application.properties中的默认占位符是@..@
test.age=${age}             # 这个占位符可以通过在pom.xml中配置来使用
  • application-dev.properties

name=vermouth.dev
age=18.dev
  • application-prod.properties

    name=sherry.prod
    age=20.prod

     

2. 修改pom.xml



    4.0.0
​
    com.example
    demo
    0.0.1-SNAPSHOT
    war
​
    demo
    Demo project for Spring Boot
​
    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.3.RELEASE
         
    
​
    
​
    
        
            prod
            
                prod
            
        
        
            dev
            
                true
            
            
                dev
            
        
    
​
    
        
              
                
                
                ${basedir}/src/main/resources/application-${build.profile.id}.properties
            
        
​
        
            
                true     
                
                src/main/resources
            
        
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
                org.apache.maven.plugins
                maven-resources-plugin
                
                    
                        ${*}     
                    
                    true
                    
                
            
        
    
 

3. 打包

mvn clean package -P prod
如图所示

Spring Boot Profile多环境配置的两种方式_第1张图片

打包后的application.properties中:

test.name=sherry.prod
test.age=20.prod

 

 

 

 

你可能感兴趣的:(Spring Boot Profile多环境配置的两种方式)