首页 > 其他分享 >springboot多环境配置

springboot多环境配置

时间:2023-11-21 16:01:56浏览次数:40  
标签:springboot 配置文件 配置 环境 dev application test yml

转载自:www.javaman.cn
前言

在实际项目研发中,需要针对不同的运行环境,如开发环境、测试环境、生产环境等,每个运行环境的数据库...等配置都不相同,每次发布测试、更新生产都需要手动修改相关系统配置。这种方式特别麻烦,费时费力,而且出错概率大。

Spring Boot为我们提供了更加简单方便的配置方案来解决多环境的配置问题。

spring profile配置
<!-- Maven控制Spring Profile -->
<profiles>
     <!--默认开启dev-->
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <profile.active>dev</profile.active>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profile.active>prod</profile.active>
            </properties>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profile.active>test</profile.active>
            </properties>
        </profile>
    </profiles>
resources 配置
<build>
        <finalName>${project.artifactId}</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!--先排除所有的配置文件-->
                <excludes>
                    <exclude>application*.yml</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <!--引入所需环境的配置文件-->
                <filtering>true</filtering>
                <includes>
                    <!--加载配置文件-->
                    <include>application.yml</include>
                    <include>application-${profile.active}.yml</include>
                </includes>
            </resource>
            <resource>
                <directory>lib</directory>
                <targetPath>BOOT-INF/classes/lib/</targetPath>
                <includes>
                    <include>*.jar</include>
                </includes>
            </resource>
        </resources>
    </build>

多环境配置文件相关文件为:

  • application.yml 默认配置文件,需要通过此文件去引用其他配置文件
    一般来说开发会涉及到以下三种环境
  • application-dev.yml 开发环境
  • application-pro.yml 生产环境
  • application-test.yml 测试环境
application.yml配置
spring:
  profiles:
    active: @profile.active@

src/main/resources目录下创建多个不同环境的配置文件,命名为application-{profile}.yaml,例如:

  • application-dev.yaml
  • application-prod.yaml

在这些文件中,你可以设置相应环境的配置,如数据库连接、日志级别等。

springboot多环境配置_配置文件

在IDEA中,点击刷新即可选择编译环境

springboot多环境配置_配置文件_02

mvn打包命令
//打包生产环境
mvn clean install package -P pro -Dmaven.test.skip=true
//打包开发环境
mvn clean install package -P dev -Dmaven.test.skip=true

标签:springboot,配置文件,配置,环境,dev,application,test,yml
From: https://blog.51cto.com/u_14896618/8504556

相关文章

  • win11 配置开机自启动wsl子系统
     win+R  shell:startup进入配置目录进入window所在的目录 新建一个txt文本文档,后更改扩展名.vbs撰写内容:其中ubuntu20.04是子系统的名称setws=wscript.CreateObject("wscript.shell")ws.run"wsl-dUbuntu20.04",0 ......
  • SpringBoot 文件上传下载工具样例
    最近工作遇到这样的情景:一大堆linux内网服务器,上面部署了mysql,nacos,xxljob等中间件,当然也给了一个很干净的windows内网服务器,什么软件都没有安装。比较欣慰的是:可以通过浏览器访问nacos、xxljob的管理页面。不幸的是:没有安装mysql客户端和xshell等工具。我可以通过......
  • Linux部署Java环境
    本文使用的Linux发行版本为AlmaLinux9.264位(CentOS停止更新后的完美替代发行版本)。本文安装的JDK版本为21.0.1,其他版本方法类似。下载并安装Java开发工具包(JavaDevelopmentKit)更新系统。dnf-yupdate获取安装包链接。前往JDK下载官网。找到对应Linux版本的压缩......
  • 配置YUM源
    国内企业镜像站阿里开源镜像站:https://developer.aliyun.com/mirror/华为开源镜像站:https://mirrors.huaweicloud.com/home腾讯开源镜像站:https://mirrors.cloud.tencent.com/网易开源镜像站:https://mirrors.163.com/搜狐开源镜像站:http://mirrors.sohu.com/平安开源镜像站:h......
  • Linux网络配置
     一:桥接:在此连接方式,安装的虚拟机相当于和物理主机是两台独立的计算机,如果局域网中有DHCP服务,那么,虚拟机将能够获得本局域网的IP地址,此时虚拟机的IP网段和主机的IP地址处于同一网段下,两者之间可以通信。如果局域网内没有提供DHCP服务,需要手动配置一个和物理主机在同一个网段下......
  • Linux下创建FTP虚拟用户的配置过程--非系统帐号登录FTP
    前言        在日常的工作中经常会遇到这样的情况,为了ftp的用户的登录安全,需要创建一些FTP账户来连接或登录FTP服务,而又不想让用户拥有系统级别的账号。    尽管也可以在FTP服务器设置让一些用户无法登陆系统,如果需要创建很多ftp用户的需求的话,那和创建这......
  • 路由层之简单路由配置 APPEND_SLASH
    1路由参数#第一个参数是正则表达式#第二个参数是视图函数内存地址#第三个参数是个字典{'name':lqz,'age':18},给视图函数传递默认值#第四个参数name,当前路由的别名,用作反向解析url(r'^home2/',views.home,{'name':'lqz','age':19},name='home�......
  • 配置ArchLinux,st + dwm进行配置极简风格
    更新于2023年11月21日本文进行安装好ArchLinux后进行配置的记录。一些关于本文解决问题的链接【--->整个st的教学<---】【--->st官网<---】【--->解决st和dwm的安装<---】【--->配置清华软件库<---】【--->配置st字体设置<---】【--->makenotfoun......
  • VMware vCenter Server 8.0U1d - 集中式管理 vSphere 环境
    VMwarevCenterServer8.0U1d-集中式管理vSphere环境请访问原文链接:https://sysin.org/blog/vmware-vcenter-8-u1/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwarevCenterServer是一款高级服务器管理软件,提供了一个集中式平台来控制vSphere环境,以实现......
  • springboot jar基本结构
    @[TOC]Jar包的基本概念首先,让我们从JAR包的基本概念开始。JAR,全称JavaArchive,是Java的一种压缩文件格式。它主要用于打包、分发Java类和相关资源,包括Java类文件、资源文件、配置文件以及其他Java应用程序相关文件。与直接编译和运行Java源代码不同,使用JAR包可以更方便地进行应用程......