• SpringBoot SpringBoot 运维实用篇 2 配置高级 2.3 配置文件4级分类


    SpringBoot

    【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】

    SpringBoot 运维实用篇

    2 配置高级

    2.3 配置文件4级分类
    2.3.1 问题引入

    之前我们已经实现了在开发环境中,修改项目启动的临时属性。问题来了

    在这里插入图片描述

    我们在研发的时候配了右边的属性,但是真正上线的时候,经理就不一定想这些值了

    【这两件事需求就完全不一样了】

    【想想如果用临时命令,…不不不,万一还输错了…不不不】

    2.3.2 配置文件分类

    SpringBoot 给我们提供了解决上述问题的方案

    在resource 目录下创建一个名为config 的目录

    在这里插入图片描述

    直接复制进去改一下

    在这里插入图片描述

    OK。直接启动

    在这里插入图片描述

    神奇的事情发生了,8083生效了

    【注意】这两个配置文件是“合作”的

    即相同就覆盖【高级别盖低级别】,不同就叠加

    看看现在是否可以正常使用

    在这里插入图片描述

    没毛病【这样就可以实现外层的给程序员用,config 目录下的配置文件可以给项目经理用,在上线前,做最后的确认】

    【新问题又来了】

    在这里插入图片描述

    数据库这些信息,在真正上线时是肯定不会用这个的

    怎么解决

    先打个包

    在这里插入图片描述

    启动

    在这里插入图片描述

    没问题,81生效了【经理的生效了】

    现在把我们自己的配置文件复制一个到target 目录中

    在这里插入图片描述

    在这里插入图片描述

    拿不拿都行,笔者这里还是拿一下吧

    在这里插入图片描述

    启动这个项目

    在这里插入图片描述

    神奇的事情又发生了,这次80生效了,config目录下的配置东西都没辙了

    改一下,验证一下

    在这里插入图片描述

    再次启动

    在这里插入图片描述

    OK。这样配置文件就又多了一级

    在工程文件的同层目录下的配置文件【它会覆盖开发时的所有配置】

    【三级了】

    【还有】

    在现在这个目录中再创建一个config 目录

    在这里插入图片描述

    把这个目录中的配置文件修改成8888

    在这里插入图片描述

    再次运行

    在这里插入图片描述

    绝了【这一级就是最高级别了】

    回顾一下

    1. SpringBoot中4级配置文件

      • 1级: file :config/application.yml 【最高】
      • 2级: file :application.yml
      • 3级:classpath:config/application.yml
      • 4级:classpath:application.yml 【最低】
    2. 作用:

      • 1级与2级留做系统打包后设置通用属性,1级常用于运维经理进行线上整体项目部署方案调控
      • 3级与4级用于系统开发阶段设置通用属性,3级常用于项目经理进行整体项目属性调控

    这里就有个神奇的扩展的了

    如果yml与properties在不同层级中共存会是什么效果?

    例:类路径application.properties属性是否覆盖文件系统config目录中application.yml属性【可恶啊, 老师不帮忙给下结论】【笔者就做下这个】

    在这里插入图片描述

    重新打包

    在这里插入图片描述

    替换

    OK,直接启动

    在这里插入图片描述

    可以看到还是8888,牛逼

    2.3.3 小结
    1. 配置文件分为4种
    • 项目类路径配置文件:服务于开发人员本机开发与测试
    • 项目类路径config目录中配置文件:服务于项目经理整体调控
    • 工程路径配置文件:服务于运维人员配置涉密线上环境
    • 工程路径config目录中配置文件:服务于运维经理整体调控
    1. 多层级配置文件间的属性采用叠加并覆盖的形式作用于程序
  • 相关阅读:
    做项目必读的vue3基础知识
    【Java】main方法的深入理解
    如何完成网课答案公众号搭建?小白教程!内附网课题库接口!
    衡石科技携手亚马逊云科技、浩方集团,三大势能助推出海业务数字化升级
    k8s,30分钟部署一个kubernetes集群
    【Java】Object类及类中方法
    EOCR-3E420,3EZ,3DE电机保护器与变频器配合使用的方法
    法定代表人和股东是什么关系
    BGP——BGP基础概念
    iOS持续集成
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/127840963