栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot项目在不同环境下的配置以及打包方式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot项目在不同环境下的配置以及打包方式

SpringBoot项目在不同环境下的配置以及打包方式
  • 一、概述
  • 二、配置文件的加载设置
  • 三、Maven不同环境的打包

一、概述

在我们平时的开发中,一个项目因为要上线,会有很多种环境,在不同的环境中我们项目的配置文件往往都是不一样的,比如数据库,Redis的那些配置,那我们怎么设置不用每次都进行修改呢?

由于上面的问题,我们直接配置三个配置文件,只需要打包的时候,根据不同环境打包不同的配置文件就好了,如下图


这三个文件中

application.yml 是启动服务时,Spring会自动加载的配置文件
application-dev.yml 代表的是开发环境时的配置文件
application-prod.yml 代表的是生产环境的配置文件

后面这两个文件在SpringBoot服务启动时,Spring不会自动加载他们,那么在不同的环境中时怎么加载不同的配置文件的呢?

二、配置文件的加载设置

因为在服务启动时,Spring会自动加载application.yml

所以我们只需在这个配置文件中设置,需要哪个就加载哪个就好了


如上图所示,在服务启动加载的时候,服务器就会加载application.yml文件,然后通过配置去调用application-dev.yml文件,选择开发环境。当然如此,当active: prod,那么服务在启动时,Spring就会调用application-prod.yml文件进入生产环境。

三、Maven不同环境的打包

首先我们进行动态的调用不同的配置文件,首先我们的前提条件是拥有上述的三个配置文件,然后根据这些文件的名字来进行下列配置,大家根据自己需求进行更改。

然后我们要这样配置我们的 pom.xml

      
        
        
            dev
            
                
                dev
            
            
                
                true
            
        
        
        
            prod
            
                prod
            
        
    

    
        
        Test
        
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
            
                org.apache.maven.plugins
                maven-resources-plugin
                
                    
                        test-resources
                        
                        compile
                        
                        
                            testResources
                        
                        
                            
                            true
                            ${project.build.outputDirectory}
                            
                            
                                
                                    
                                    src/main/resources/${activatedEnv}
                                    false
                                
                            
                        
                        
                        true
                    
                
            
        
    


然后在我们的 application.yml 配置动态的使用

spring:
  profiles:
    active: @activatedEnv@

这里的 @activatedEnv@ ,使用的就是我们在pom.xml里设置的 ,当我们需要Maven打包时,他就会用这里的值来进行使用

然后在Maven打包时,我们只需要指定参数就好了

比如我们需要打包开发环境:

mvn clean package -P dev

打包生产环境

mvn clean package -P prod

我们只需要修改参数就行了!这样就会打包不同的配置文件!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号