springboot maven多环境配置yml实例

 更新时间:2026年07月02日 10:44:19   作者:小鸡辛苦啄米  
本文分享Maven环境配置技巧,利用application.yml与application-dev.yml实现多环境切换,只需勾选相应配置文件,即可统一线上代码,轻松区分开发与生产环境,解决线上多环境部署难题,提升开发效率

配置maven环境

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <package.environment>dev</package.environment>
        </properties>
        <!-- 是否默认 true表示默认-->
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>test</id>
        <properties>
            <package.environment>test</package.environment>
        </properties>
    </profile>
    <profile>
        <!-- 生产环境 -->
        <id>qa</id>
        <properties>
            <package.environment>qa</package.environment>
        </properties>
    </profile>
</profiles>`

资源文件

application.yml

spring:
  profiles:
    active: @package.environment@

application-dev.yml

spring:
  datasource:
    type: org.springframework.jdbc.datasource.DriverManagerDataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.20.252/shlaunch?useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true
    username: shlaunch
    password: password
  jpa:
    database: mysql
    show-sql: true
    generate-ddl: true
    database-platform: org.hibernate.dialect.MySQL5Dialect
    hibernate:
      ddl-auto: update
server:
  port: 8081
logging:
  level:
    root: info
  pattern:
    console: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
    spring:
     mvc:
      static-path-pattern: /**

线上代码就不贴出来了 都是一样的

执行maven勾选中的yml

 <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>application.yml</include>
                    <include>application-${package.environment}.yml</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈Java中Collection和Collections的区别

    浅谈Java中Collection和Collections的区别

    下面小编就为大家带来一篇浅谈Java中Collection和Collections的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • JDK8接口的默认与静态方法-接口与抽象类的区别详解

    JDK8接口的默认与静态方法-接口与抽象类的区别详解

    这篇文章主要介绍了JDK8接口的默认与静态方法-接口与抽象类的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • Java中创建线程的两种方式详细说明

    Java中创建线程的两种方式详细说明

    这篇文章主要介绍了Java中创建线程的两种方式详细说明,Java使用java.lang.Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例,每个线程的作用是完成一定的任务,实际上就是执行一段程序流即一段顺序执行的代码,需要的朋友可以参考下
    2023-11-11
  • Spring Boot读取配置文件内容的3种方式(@Value、Environment和@ConfigurationProperties)

    Spring Boot读取配置文件内容的3种方式(@Value、Environment和@ConfigurationP

    工作中经常会有一些参数需要配置,同时在代码里面需要用到,所有就需要配置类读取,然后在使用的时候注入该类进行获取相关参数,下面这篇文章主要给大家介绍了关于Spring Boot读取配置文件内容的3种方式,需要的朋友可以参考下
    2023-01-01
  • Java并发编程ReentrantReadWriteLock加读锁流程

    Java并发编程ReentrantReadWriteLock加读锁流程

    这篇文章主要介绍了Java并发编程ReentrantReadWriteLock加读锁流程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Java虚拟机底层原理详细分析

    Java虚拟机底层原理详细分析

    这篇文章主要介绍了Java虚拟机底层原理详细分析,运行时数据区就是俗称的虚拟机内存,主要包括我们熟悉的堆、栈、本地方法栈、方法区(元空间)、程序计数器,虚拟机调优主要针对的是运行时数据区,也就是虚拟机内存,需要的朋友可以参考下
    2024-01-01
  • Java抽象类的构造模板模式用法示例

    Java抽象类的构造模板模式用法示例

    这篇文章主要介绍了Java抽象类的构造模板模式用法,结合实例形式分析了java使用抽象类构造模板模式相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • 解决SpringBoot请求返回字符串中文乱码的问题

    解决SpringBoot请求返回字符串中文乱码的问题

    这篇文章主要介绍了解决SpringBoot请求返回字符串中文乱码的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java缓冲流与转换流全面解析

    Java缓冲流与转换流全面解析

    本文深入讲解Java IO中的的缓冲流与转换流,包括BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter、InputStreamReader和OutputStreamWriter的设计原理、使用方法及性能对比,强调装饰器模式在流组合中的应用
    2026-06-06
  • spring boot对敏感信息进行加解密的项目实现

    spring boot对敏感信息进行加解密的项目实现

    本文主要介绍了spring boot对敏感信息进行加解密的项目实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04

最新评论