SpringBoot中yml多环境配置的3种方法

 更新时间:2023年10月22日 10:30:55   作者:星哲最开心  
这篇文章主要给大家介绍了SpringBoot中yml多环境配置的3种方法,文中有详细的代码示例供大家参考,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

方式一:多个yml文件

步骤一、创建多个配置文件

application.yml      #主配置文件
application-dev.yml  #开发环境的配置
application-prod.yml #生产环境的配置
application-test.yml #测试环境的配置

步骤二、applicaiton.yml中指定配置

在application.yml中选择需要使用的配置文件(当选择的文件和application.yml文件存在相同的配置时,application.yml中的配置会被覆盖掉)

spring:
 profiles:
   active: dev #需要使用的配置文件的后缀

方式二: 单个yml文件

#激活dev环境配置
spring:
  profiles.active: dev
 
 
# 开发环境配置
spring:
  profiles: dev
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/dev?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
server:
  port: 8080
 
 
# 测试环境配置
spring:
  profiles: test
  datasource:
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root
    password: test
    driver-class-name: com.mysql.jdbc.Driver
server:
  port: 88
 
 
 
# 生产环境配置
spring:
  profiles: prod
  datasource:
    url: jdbc:mysql://localhost:3306/prod?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root
    password: prod
    driver-class-name: com.mysql.jdbc.Driver
 server:
  port: 99

配置默认的profile为dev,其他环境可以通过指定启动参数来使用不同的profile,比如:
测试环境:java -jar 项目.jar --spring.profiles.active=test
生产环境:java -jar 项目.jar --spring.profiles.active=prod

方式三:在pom.xml中指定环境配置

步骤一、创建多个配置文件

application.yml      #主配置文件
application-dev.yml  #开发环境的配置
application-prod.yml #生产环境的配置
application-test.yml #测试环境的配置

步骤二、在application.yml中添加多环境配置属性

#多环境配置
  profiles:
    active: @profiles.active@

步骤三、在pom.xml中指定使用的配置

   <profiles>
        <profile>
            <id>dev</id>
            <activation>
                <!--  默认激活-->
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
        </profile>
 
        <profile>
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
        </profile>
 
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
    </profiles>

true配置为true则激活对应profile的配置。

或如图所示,在maven->profiles下勾选动态激活需要使用的配置

避坑:不能识别符号@

在步骤二中配置的@profiles.active@,启动会报异常,不能识别@符号。解决方法:

在pom.xml中设置filtering为true

     <build>
         <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering> 
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>
  </build>

总结:

三种方式都可以实现多环境的配置。在application.yml主配置文件中做项目通用的配置,在其他配置文件中做不同环境下的配置,以避免重复配置的情况。

以上就是SpringBoot中yml多环境配置的3种方法的详细内容,更多关于SpringBoot yml多环境配置的资料请关注脚本之家其它相关文章!

相关文章

  • Java常见面试题之final在java中的作用是什么

    Java常见面试题之final在java中的作用是什么

    这篇文章主要介绍了Java常见面试题之final在java中的作用是什么,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java正则表达式如何匹配特定html标签内的内容

    Java正则表达式如何匹配特定html标签内的内容

    这篇文章主要给大家介绍了关于Java正则表达式如何匹配特定html标签内的内容的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • SpringBoot详细讲解通过自定义classloader加密保护class文件

    SpringBoot详细讲解通过自定义classloader加密保护class文件

    这篇文章主要介绍了SpringBoot通过自定义classloader加密class文件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • JAVA中split函数的常见用法实例

    JAVA中split函数的常见用法实例

    Java中我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面这篇文章主要给大家介绍了关于JAVA中split函数的常见用法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • java-list创建的两种常见方式

    java-list创建的两种常见方式

    本文给大家分享Java-list创建的两种常见方式,每种方式结合实例代码给大家讲解的非常详细,感兴趣的朋友跟随小编一起看看吧
    2022-11-11
  • SpringMVC 文件上传配置,多文件上传,使用的MultipartFile的实例

    SpringMVC 文件上传配置,多文件上传,使用的MultipartFile的实例

    本篇文章主要介绍了SpringMVC 文件上传配置,详解介绍了如何使用SpringMVC进行表单上的文件上传以及多个文件同时上传的步骤,有兴趣的可以了解一下。
    2016-12-12
  • 使用Spring Boot快速构建基于SQLite数据源的应用

    使用Spring Boot快速构建基于SQLite数据源的应用

    为了提供一个单包易部署的服务器应用,考虑使用Spring Boot,因为其集成了Apache Tomcat,易于运行,免去绝大部分了服务器配置的步骤
    2017-08-08
  • 熟悉maven:使java开发变得更高效

    熟悉maven:使java开发变得更高效

    在日常的开发过程中,maven是很常见的项目构建工具。maven可以极大的提高我们的开发效率,帮助我们简化开发过程中一些解决依赖和项目部署的相关问题,所以学习掌握maven的相关知识是非常有必要的
    2021-06-06
  • Spring Security登陆流程讲解

    Spring Security登陆流程讲解

    本文主要介绍了Spring Security登陆流程讲解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • logback StatusListener的定义方法源码解读

    logback StatusListener的定义方法源码解读

    这篇文章主要为大家介绍了logback StatusListener的定义方法源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论