Apollo配置参数读取后再做替换

2023-11-11

1.先描述业务场景:
在Apollo上做配置,然后读取配置,然后做替换

2.一路坎坷:
2.1.在Apollo上配置,但是vlue包含有占位符“${}”,获取配置报错;

Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'loanName' in value

2.2.去掉$后,不能替换

3.最终代码

    public static final char DEFAULT_ESCAPE = '$';
    /**
     * Constant for the default variable prefix.
     */
    public static final StrMatcher DEFAULT_PREFIX = StrMatcher.stringMatcher("{");
    /**
     * Constant for the default variable suffix.
     */
    public static final StrMatcher DEFAULT_SUFFIX = StrMatcher.stringMatcher("}");

    public static void main(String[] args) {
        Map<Object, Object> paramMap = Maps.newHashMap();
        paramMap.put("username", "张三");
        paramMap.put("loanName", "手机银行");
        StrSubstitutor strSubstitutor = new StrSubstitutor(StrLookup.mapLookup(paramMap), DEFAULT_PREFIX, DEFAULT_SUFFIX, DEFAULT_ESCAPE);
        String message = strSubstitutor.replace("姓名:{username}, 产品名称:'{loanName}");
        System.out.println("message= " + message);

    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apollo配置参数读取后再做替换 的相关文章

随机推荐

  • 安川伺服总线通讯方式_伺服电机如何选择脉冲、模拟量、通讯三种控制方式?...

    原标题 伺服电机如何选择脉冲 模拟量 通讯三种控制方式 伺服电机控制方式有脉冲 模拟量和通讯这三种 在不同的应用场景下 我们该如何选择伺服电机的控制方式呢 记得收藏 关注呀 万一你找不到我了呢 0 1伺服电机脉冲控制方式 在一些小型电机设备
  • Windows安装elasticsearch8(学习用)踩坑记录

    本文介绍的elasticsearch版本是8 8 0 首先去官网下载Windows的elasticsearch Download Elasticsearch Elastic 解压后直接 进入安装目录elasticsearch 8 8 0 b
  • 一种二维条码图像处理流程

    目前 二维条码主要分两类 1 堆叠式二维条码 PDF417 Code 49 2 矩阵式二维条码 QR Code Maxicode Data Matrix 本条码类似于Maxicode 处理过程大致为 1 图像灰度化 最大值法 平均值法 加权
  • js 定时网页点击_反爬 JS 逆向,扣代码解密分析

    挺久没发爬虫相关的教程啦 今天给大伙分享一下关于网站反爬对请求参数值的加密分析例子 主要还是看看思路 定位加密点 在某网站中进行登录请求 简单抓下包 点击登录按钮之后 可以在浏览器的控制台中看到相关的请求 接着往下拉 可以看到 POST 请
  • C语言char类型的存储

    目录 char是如何存储的 char的类型 char的取值范围 例题 char是如何存储的 字符型 char 用于储存字符 character 如英文字母或标点 但是char类型在内存中并不是以字符的形式储存 而是以ASII码的形式储存 也
  • 为什么组件中的data是一个函数,而不是一个对象?

    1 组件是vue实例的服用 我们希望每个组件都是独立的 我们必须保证各组件里面的数据相互分离 所以组件中的data应该定义为函数形式 并且返回一个对象 2 如果组件中的data是一个对象 每一次调用的组件中使用的数据都是对data中的数据的
  • Linux(centos 7.4)升级openssh编译报错checking whether OpenSSL‘s headers match the library... no

    Linux centos 7 4 升级openssh编译报错checking whether OpenSSL s headers match the library no 解决方案 使用root用户打开文件并编辑 vim etc ld so
  • chatgpt赋能python:Python面向对象编程

    Python面向对象编程 Python是一种支持面向对象编程范式的高级编程语言 在Python中 面向对象编程可以很容易实现 同时也可以让代码更加简洁 可读性更高 什么是面向对象编程 面向对象编程 Object Oriented Progr
  • webpack安装遇到问题 webpack -v得到不是版本号信息

    webpack v得到不是版本号信息且vscode终端打包时报错如下 如图所示 使用npm install webpack webpack cli global 安装完webpack后 运行webpack v却出现如下错误 查阅资料分析原因
  • 清除dell服务器面板告警信息,dell服务器报警信息资料.doc

    沈阳鑫微明信息 技术支持 024沈阳鑫微明信息 技术支持 024DELL服务器LCD信息代码 DELL服务器LCD信息代码的意思 E1114Temp Ambient系统周围环境温度超出允许范围 E1116Temp Memory内存已超过允许
  • element-plus获取表格的所有选中项

    1 在el table中定义 selection change事件
  • 生产redis线程池获取不到资源问题排查

    1 查看错误日志7点报redis clients jedis exceptions JedisExhaustedPoolException Could not get a resource since the pool is exhaust
  • NSGA-II算法实战(附MATLAB源码)

    1 NSGA II算法原理 NSGA II算法全称非支配排序遗传算法II Non dominated Sorting Genetic Algorithm II NSGA II 该算法是由 NSGA 改进而来的 用于解决复杂的 多目标优化问题
  • centos7如何配置静态ip?

    1 切换到root用户 su root 2 获取可用IP地址 dhclient 这一步成功后 用ifconfig命令查看已分配的可用ip 并写到下面网卡配置中 本例中是 192 168 154 132 3 编辑网卡配置 修改标记部分 vim
  • 【前后端分离博客】学习笔记05 --- canal

    一 概述 使用canal rabbitMQ 实现 MySQL 和 Elasticsearch 的数据同步 图解 流程如下 给mysql开启binlog功能 mysql完成增 删 改操作都会记录在binlog中 canal监听binlog变化
  • caffe源码导读(六)layer.hpp头文件解析

    文章目录 一 前篇 二 正文layer hpp头文件解析 三 layer cpp相关的一些理解 四 关于序列化以及第57行为什么要先reset的小例子 本篇为基于 lt 深度学习21天实战caffe gt 所做的学习笔记 如果错误 欢迎指导
  • Ruby on rails 或 Ruby Goliath 利用redis + sidekiq 实现异步处理机制

    使用背景 在平常工作中 出于性能考虑 很多工作或者任务可以放到后台悄悄咪咪地执行 而在接口层或者界面交互的地方 给用户快速返回 利用Redis Sidekiq的组合方式 能够在Ruby on Rails web框架或者Ruby Goliat
  • 帧差法、光流法、背景减除法

    运动目标检测是指在序列图像中检测出变化区域并将运动目标从背景图像中提取出来 通常情况下 目标分类 跟踪和行为理解等后处理过程仅仅考虑图像中对应于运动目标的像素区域 因此运动目标的正确检测与分割对于后期处理非常重要然而 由于场景的动态变化 如
  • Java限制泛型可用类型与泛型通配的方式

    1 限制泛型可用类型概念 1 在定义泛型类别时 默认在实例化泛型类型的时候可以使用任何类型 但是如果想要限制泛型类型时 只能用某个特定的类型或者是其子类型才能实例化该类型时 可以定义类型时 使用extends关键字指定这个类型必须是继承某个
  • Apollo配置参数读取后再做替换

    1 先描述业务场景 在Apollo上做配置 然后读取配置 然后做替换 2 一路坎坷 2 1 在Apollo上配置 但是vlue包含有占位符 获取配置报错 Injection of autowired dependencies failed