SpringBoot—yml配置多环境(踩坑总结!)

一、实例操作

①、创建对应的application.yml (dev 开发;prod 生产;test 测试)文件

SpringBoot—yml配置多环境(踩坑总结!)_第1张图片

②、在application.yml文件中,放公共的配置部分 (这部分最好还是复制,自己敲位置,空格不对都会报错)

SpringBoot—yml配置多环境(踩坑总结!)_第2张图片

spring:
  profiles:
    active: @profileActive@

在dev版本:

server:
  port: 9001

 在prod版本:

server:
  port: 9003

在test版本:

server:
  port: 9002

③、在pom文件中添加相应的配置:  (建议直接复制过去,修改对应需要的依赖即可)



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.2.3.RELEASE
        
        
    
    com.xiaobai
    knowledge
    1.0.0
    knowledge
    knowledge share project for Spring Boot

    
        
        1.8
    

    
        
            
            dev
            
                dev
            
            
            
                true
            
        
        
            
            test
            
                test
            
        
        
            
            prod
            
                prod
            
        
    

    
        
            org.springframework.boot
            spring-boot-starter-data-rest
        
        
            org.springframework.boot
            spring-boot-starter-mail
        
        
            org.springframework.boot
            spring-boot-starter-oauth2-resource-server
        
        
            org.springframework.boot
            spring-boot-starter-security
        
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-web-services
        
        
            org.springframework.boot
            spring-boot-starter-websocket
        
        
            org.springframework.session
            spring-session-core
        

        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        
        
            mysql
            mysql-connector-java
            runtime
        
        
            org.springframework.boot
            spring-boot-configuration-processor
            true
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
        
            org.springframework.security
            spring-security-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        

        
            
                src/main/resources
                
                    application-${profileActive}.yml
                    application.yml
                    **/*.xml
                
                true
            
            
                src/main/java
                
                    **/*.xml
                
            
        

    


二、注意事项

        在yml配置多环境时,需要注意以下几点:(最省事的方法,就是能复制就复制,yml文件自己大概知道有哪些东西就行了

(1)注意yml文件的缩进格式,必须按照正确的缩进方式来书写;

(2)多个环境的yml文件名称必须与application.yml保持一致,只是文件名前面加上环境名称;

(3)可以在yml文件中直接定义变量,也可以使用application.yml中的变量;

(4)使用SpringBoot提供的Profile机制可以方便地在不同的环境中切换。

三、对应的日志配置文件修改(不要忘了)

        设置了三种配置环境,对应要修改的还有日志配置文件,在 Spring Boot框架中,默认使用的就是logback日志管理。

SpringBoot—yml配置多环境(踩坑总结!)_第3张图片








    logback
    
    
    
    
    
    

    
    
        
        
            INFO
        
        
            ${log_pattern}
        
    


    

    
    
        
        ${log.path}/log-debug.log
        
        
            ${log_pattern}
            UTF-8 
        
        
        
            
            ${log.path}/log-debug-${log_fileNamePattern}
            
                ${log_maxFileSize}
            
            
            ${log_maxHistory}
        
        
        
            debug
            ACCEPT
            DENY
        

    

    
    
        
        ${log.path}/log_info.log
        
        
            ${log_pattern}
            UTF-8 
        
        
        
            
            ${log.path}/log-info-${log_fileNamePattern}
            
                ${log_maxFileSize}
            
            
            ${log_maxHistory}
        
        
        
            info
            ACCEPT
            DENY
        
    

    
    
        
        ${log.path}/log_warn.log
        
        
            ${log_pattern}
            UTF-8 
        
        
        
            
            ${log.path}/log-warn-${log_fileNamePattern}
            
                ${log_maxFileSize}
            
            
            ${log_maxHistory}
        
        
        
            warn
            ACCEPT
            DENY
        
    

    
    
        
        ${log.path}/log_error.log
        
        
            ${log_pattern}
            UTF-8 
        
        
        
            
            ${log.path}/log-error-${log_fileNamePattern}
            
                ${log_maxFileSize}
            
            
            ${log_maxHistory}
        
        
        
            ERROR
            ACCEPT
            DENY
        
    


    
    
        
    

    
        
        
        
        
        
    

    
    
        
            
            
            
            
            
        
    

    
    
        
            
            
            
            
            
        
    


 

 

你可能感兴趣的:(开发,编程,spring,boot,spring,java)