springboot使用yml文件配置多环境方式(dev、test、prod)

 更新时间:2023年09月18日 16:17:31   作者:星 ~ 程 @  
这篇文章主要介绍了springboot使用yml文件配置多环境方式(dev、test、prod),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

使用yml文件配置多环境(dev、test、prod)

为了实现多环境配置,我们可以在本地开发的时候在Resource文件夹下新建不同环境的配置文件,

如下图所示:

一、配置解析

默认的一个,就是啥都不加的,默认配置文件,application.yml文件,可根据自己需求使用

  • 开发环境(dev):开发环境是专门用于开发的服务器,可随时配置,只要配的自己开发舒服就行,
  • 测试环境(test):一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。
  • 生产环境(prod):是正式提供对外服务的,一般会关掉错误报告,打开错误日志。这个配置就需要谨慎点哦

三个环境也可以说是系统开发的三个阶段:开发->测试->上线,其中生产环境也就是通常说的真实环境。

使用这些配置还是有好处的:

1.不同环境配置可以配置不同的参数

2.便于部署,提高效率,减少出错

这时候我们只需要在主配置文件application.yml文件使用spring.profiles.active = dev/test/prod来进行不同环境的切换

spring:
  profiles:
    active: dev #加载dev配置文件

二、主配置文件与不同环境的配置文件

Spring Profile有一个特性即可以在application.yml配置通用的内容,在application-dev.yml文件中配置不同文件的差异化配置,这样可以精简我们的配置文件。

配置如下:

# 主配置文件主要用来存放公共设置,不受环境配置影响
server:
 port: 8082 # 指定端口号
  context-path: /server # 指定访问资源的根路径
spring:
 profiles:
   active: dev

三、dev配置文件

# 主要用来存放不同环境差异化配置,包括ftp地址、数据库连接等
spring:
 datasource:
   username: xxx
   password: xxx
   url: xxx
   driver-class-name: oracle.jdbc.driver.OracleDriver

上述解决方案虽然可以解决我们的环境问题,

但是不够优雅,还有一些值得优化的地方,

比如打包出的配置文件有四个、每次需要手动修改主配置文件的环境信息等。

总结

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

相关文章

  • java 读取文件方法的总结

    java 读取文件方法的总结

    这篇文章主要介绍了java 读取文件方法的总结的相关资料,这里提供文件读取5种方法并附实例,需要的朋友可以参考下
    2017-08-08
  • Springboot跨域CORS处理实现原理

    Springboot跨域CORS处理实现原理

    这篇文章主要介绍了Springboot跨域CORS处理实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • java仿Servlet生成验证码实例详解

    java仿Servlet生成验证码实例详解

    这篇文章主要介绍了java仿Servlet生成验证码实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • Java将文件夹保留目录打包为 ZIP 压缩包并下载的教程详解

    Java将文件夹保留目录打包为 ZIP 压缩包并下载的教程详解

    这篇文章主要介绍了Java将文件夹保留目录打包为 ZIP 压缩包并下载的教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot依赖注入的详细介绍、使用技巧

    SpringBoot依赖注入的详细介绍、使用技巧

    在Spring Boot中,依赖注入是一项关键的特性,它通过容器来管理和注入应用程序中的各种组件,本文介绍SpringBoot依赖注入的详细介绍、使用技巧,感兴趣的朋友一起看看吧
    2024-01-01
  • spring cloud-zuul的Filter使用详解

    spring cloud-zuul的Filter使用详解

    这篇文章主要介绍了spring cloud-zuul的Filter使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • spring5 SAXParseException:cvc-elt.1: 找不到元素“beans 的声明详解

    spring5 SAXParseException:cvc-elt.1: 找不到元素“beans 的声明详解

    这篇文章主要给大家介绍了关于spring5 SAXParseException:cvc-elt.1: 找不到元素“beans 声明的相关资料,需要的朋友可以参考下
    2020-08-08
  • 深入讲解Java中的多态和抽象类

    深入讲解Java中的多态和抽象类

    这篇文章主要介绍了深入讲解Java中的多态和抽象类,有时候,设计一个数组或方法的参数,返回值类型时,无法确定具体的类型,只能确定是某个系列的类型,这时就引入了多态,需要的朋友可以参考下
    2023-08-08
  • java绘制哆啦A梦 超可爱

    java绘制哆啦A梦 超可爱

    这篇文章主要介绍了java绘制哆啦A梦,特别的可爱,文中示例代码介绍的也非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • SpringBoot中注解实现定时任务的两种方式

    SpringBoot中注解实现定时任务的两种方式

    这篇文章主要介绍了SpringBoot中注解实现定时任务的两种方式,SpringBoot 定时任务是一种在SpringBoot应用中自动执行任务的机制,通过使用Spring框架提供的@Scheduled注解,我们可以轻松地创建定时任务,需要的朋友可以参考下
    2023-10-10

最新评论