码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 相同的 key, Nacos 配置一定会覆盖 application.yaml 吗?


    一,背景:

    之前在使用 Nacos 的时候有个疑问,同样的 key,在 Nacos 配置了,在 application 也配置了,到底会有哪个呢?一直没空查,后来在网上看到过文章,说 Nacos 是在 application 之后,所以相同的 key ,Nacos 的值会覆盖掉 application。实践出真知,决定实际操作看一下。

    结论:相同的 key,Nacos 不会因为是后加载的,就覆盖原来的 application 的值。

    二,版本、配置及代码:

    1,版本:

    nacos-server:2.2.3

    nacos-config-spring-boot-starter: 0.2.12

    spring-boot:2.7.16

    2,配置:

    application 配置:

    nacos 配置:

    3,代码:

    期望:返回 abc1546422222222:abc1546422222222

    实际:返回 1233:1233

    三,分析开始

    项目启动时打断点,来到

    org.springframework.core.env.PropertySourcesPropertyResolver#getPropertyAsRawString

    1,获取 key 的配置值:

    abc:1 这个 key 一定是不存在的,因为会有默认值,此时处理是:先根据这个 key 找,找不到,则需要按照 : 拆分,得出真正的 key ,再去查一次,如果还查不到,则需要把 1 这个默认值返回。

    2,所以第二次来到了:此时 key 为 abc

    此时就找到了 application 中配置的值:

    点开这个 propertySource 看一下里面具体的信息:

    看第6 、7条,第 6 条就是从 applicaion 得出的值:

    第 7 条,是从 nacos 获取的值:

    但是!从第 6 条里已经找到了 key 为 abc 的值,则此时会直接返回:

    不会再去遍历找 nacos 里的值。所以此时就是 application 中的值。

    后续再分析本地配置文件的加载顺序。

  • 相关阅读:
    linux源码安装postgresql以及smlar插件
    MyBatis(上)
    【已解决】Qt发送信号后,槽函数没有响应
    【附源码】计算机毕业设计JAVA政府采购线上招投标平台
    Spring Aop 源码 (三) (执行过程)
    数据结构与算法——线性查找法
    App自动化测试持续集成效率提高50%
    Kotlin协程
    幸福心理与抗逆力培养的工控系统安全实验课程研究
    雷达有源干扰识别仿真
  • 原文地址:https://blog.csdn.net/fzghjx/article/details/133776782
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号