码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringBoot SpringBoot 运维实用篇 2 配置高级 2.3 配置文件4级分类


    SpringBoot

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

    SpringBoot 运维实用篇

    文章目录

        • SpringBoot
        • SpringBoot 运维实用篇
        • 2 配置高级
          • 2.3 配置文件4级分类
            • 2.3.1 问题引入
            • 2.3.2 配置文件分类
            • 2.3.3 小结

    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. 多层级配置文件间的属性采用叠加并覆盖的形式作用于程序
  • 相关阅读:
    带你走进JS新特性(一)
    21. [Python GUI] PyQt5中的模型与视图框架-抽象模型基类QAbstractItemModel与自定义模型
    SpringBoot + Redis的Bitmap实现活跃用户统计
    字符串——OKR-Periods of Words(kmp求最短相同前后缀或者说求最长循环节)
    【论文笔记】UNet
    [机缘参悟-72]:深度思考-人生自省的四重境界:不觉、自觉、觉他、圆满
    【IP固定】地平线开发板如何实现重启IP地址不变
    websocket技术详解,附带springboot实例
    qt Android中使用opencv处理视频
    Win11 Excel文件变成白板图标怎么解决?
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/127840963
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号