springboot yml中profiles的巧妙用法(小白必看多环境配置)

 更新时间:2021年04月28日 14:37:00   作者:Java充电桩  
这篇文章主要介绍了springboot yml中profiles的巧妙用法,非常适合多环境配置场景,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

遥想当年我还是个小白的时候,就只是写写demo,也就在一套环境上跑跑,真正当实战的时候,除了你本地环境,还有开发环境,测试环境,生产环境(上线)等等。

如果你不知道用这个profiles,那么这么多套环境,用一种老古董的写法就是这样,用哪个环境就把其他环境注释掉!

spring:
  datasource:
    username: root          							#dev
    password: 123456									#dev
    #username: root2									#test
    #password: 456789									#test
    ...

这还只2个环境的数据库账号密码而已,真正的配置比这要多了去了!

这个时候profiles的妙用就体现出来了!用active指定当前使用的环境

spring:
  profiles:
    active: local

在下面用 — 来隔开环境,用profiles来指定这个配置环境名称。

spring:
  profiles: local
  datasource:
    username: root          						
    password: 123456
---
spring:
  profiles: dev						
    username: root2									
    password: 456789
---  								
    ...

当然这样环境多了,整个yml也是很乱,所以这个时候我们是可以把这些环境捞出来,放在一个单独的yml中,以 application-{profile}.yml 的格式。

这个{profile}就是你的环境名!如下

在这里插入图片描述

一个application.yml 放基本的配置,和使用哪个环境。

然后下面这些各式各样的yml就可以用来存各个环境的数据库配置,服务注册等。

在这里插入图片描述

而且会优先使用配置的环境中的,比如我在local环境中配置了一个端口号,输出的就是local环境中的端口号。

在这里插入图片描述

当我去掉local中配置的端口号,就会用默认配置的端口号

在这里插入图片描述

springboot Failed to load ApplicationContext

如果遇到这个错,可能是配置不对,例如我是把数据库配置单独丢进去local了,当我使用dev环境时,里面没有数据库配置,最后的application.yml中也报错了,程序中有数据库交互的接口,所有就报异常了!

要么在dev中补充,要么在application.yml中补充,我个人建议在dev补充。

因为这样才能保证各个环境不会有出现问题,application.yml只配通用的东西!

其他妙用(用时补充) 配置logback中也可以用到 配置swagger也可以用到

到此这篇关于springboot yml中profiles的妙用小白必看多环境配置的文章就介绍到这了,更多相关springboot yml使用profiles内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java编程实现求质数与因式分解代码分享

    java编程实现求质数与因式分解代码分享

    这篇文章主要介绍了Java编程实现求质数与因式分解代码分享,对二者的概念作了简单介绍(多此一举,哈哈),都是小学数学老师的任务,然后分享了求解质数和因式分解的Java代码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • springmvc处理模型数据Map过程解析

    springmvc处理模型数据Map过程解析

    这篇文章主要介绍了springmvc处理模型数据Map过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Java设计模式之观察者模式(Observer模式)介绍

    Java设计模式之观察者模式(Observer模式)介绍

    这篇文章主要介绍了Java设计模式之观察者模式(Observer模式)介绍,Java深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解,需要的朋友可以参考下
    2015-03-03
  • Java如何获取字符串单词个数

    Java如何获取字符串单词个数

    这篇文章主要介绍了Java如何获取字符串单词个数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Java中的concurrenthashmap集合详细剖析

    Java中的concurrenthashmap集合详细剖析

    这篇文章主要介绍了Java中的concurrenthashmap集合详细剖析,有参构造后第一次put时会进行初始化,由源码可知,会先判断所传入的容量是否>=最大容量的一半,如果满足条件,就会将容量修改为最大值,反之则会将容量改为所传入数*1.5+1,需要的朋友可以参考下
    2023-11-11
  • 去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告的教程图解

    去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告的教程图解

    本文通过图文并茂的形式给大家介绍了去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告的教程,需要的朋友可以参考下
    2018-06-06
  • springboot 启动如何排除某些bean的注入

    springboot 启动如何排除某些bean的注入

    这篇文章主要介绍了springboot 启动如何排除某些bean的注入方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java current并发包超详细分析

    Java current并发包超详细分析

    current并发包、在JDK1.5之前Java并没有提供线程安全的一些工具类去操作多线程,需要开发人员自行编写实现线程安全,但仍然无法完全避免低性能、死锁、资源管理等问题。在JDK1.5时新增了java.util.current并发包,其中提供了许多供我们使用的并发编程工具类
    2023-02-02
  • java实现查找替换功能

    java实现查找替换功能

    这篇文章主要为大家详细介绍了java实现查找替换功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Java详细讲解包的作用以及修饰符的介绍

    Java详细讲解包的作用以及修饰符的介绍

    本文主要讲述的是包的使用和注意事项和四种访问修饰符public,protected,默认的,private的访问范围及实例,感兴趣的朋友一起来看看
    2022-05-05

最新评论