首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java.util.Properties忽略${...}占位符

java.util.Properties是Java中的一个类,用于操作属性文件。属性文件是一种以键值对形式存储数据的文件,常用于配置应用程序的参数。

在属性文件中,可以使用${...}占位符来表示一个变量,该变量的值可以在运行时动态替换。然而,java.util.Properties类默认情况下不会解析和替换这些占位符。

要忽略${...}占位符,可以通过自定义的方式来解析和替换。以下是一个示例代码:

代码语言:txt
复制
import java.util.Properties;

public class CustomProperties extends Properties {
    @Override
    public String getProperty(String key) {
        String value = super.getProperty(key);
        if (value != null && value.startsWith("${") && value.endsWith("}")) {
            // 忽略${...}占位符,返回原始值
            return value;
        }
        return value;
    }
}

在上述示例中,我们继承了java.util.Properties类,并重写了getProperty方法。在该方法中,我们判断属性值是否以"${"开头并以"}"结尾,如果是,则直接返回原始值,否则返回解析后的值。

这样,当使用CustomProperties类读取属性文件时,如果属性值包含${...}占位符,将会被忽略,直接返回原始值。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(移动推送、移动分析等):https://cloud.tencent.com/product/mobile
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Tencent Real-Time Interactive Audio-Video):https://cloud.tencent.com/product/trtc
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 策略模式-短信模板业务场景

    最近在开发公司的短信模板功能,简单的说,就是创建一些包含占位符的短信模板,在发送短信时将这些占位符使用特定值替换后再发出,例如短信模板中的公司名称占位符是{companyName},在发送时,使用具体的公司名称将{companyName}替换。 短信模板是一个独立的服务,其他模块在调用短信发送接口时,需要指定短信模板code以及要对占位符进行替换的占位符参数;因为调用短信发送的业务场景比较多,如果某次调用传入的占位符替换参数与对应短信模板占位符不匹配,会导致发出的短信还包含有未替换的占位符,影响到短信发送的有效性。因此,需要在发送短信时根据模板校验传入的占位符替换参数。 目前定下来的需求是短信模板与传入的占位符替换参数必须完全对应才能发送短信,最简单的方法就是在发送短信时加上判断,如果不满足条件则拒绝发送,但是考虑到后续的拓展性(例如按照业务场景设定不同的拒绝策略),这一个判断过程最好是使用策略模式实现。

    01

    《Spring 手撸专栏》第 14 章:笑傲江湖,通过注解配置和包自动扫描的方式完成Bean对象的注册

    你经历过618和双11吗?你加入过大促时候那么多复杂的营销活动赚几毛钱吗?你开发过连读明白玩法都需要一周但只使用3天的大促需求吗?有时候对于有些产品的需求真的是太复杂了,复杂到开发、测试都需要在整个过程中不断的学习最后才可能读懂产品为啥这样的玩,要是一个长期的活动可能也就算了,培养用户心智吗!但这一整套拉新、助力、激活、下单、投保、领券、消费、开红包等等一连串的骚操作下来,如果在线上只用3天呢,或者是只用1天,那TM连参与的用户都没弄明白呢,活动就结束了,最后能打来什么样好的数据呢?对于这样流程复杂,估计连羊毛党都看不上!!!

    04

    《Spring 手撸专栏》第 14 章:笑傲江湖,通过注解配置和包自动扫描的方式完成Bean对象的注册

    你经历过618和双11吗?你加入过大促时候那么多复杂的营销活动赚几毛钱吗?你开发过连读明白玩法都需要一周但只使用3天的大促需求吗?有时候对于有些产品的需求真的是太复杂了,复杂到开发、测试都需要在整个过程中不断的学习最后才可能读懂产品为啥这样的玩,要是一个长期的活动可能也就算了,培养用户心智吗!但这一整套拉新、助力、激活、下单、投保、领券、消费、开红包等等一连串的骚操作下来,如果在线上只用3天呢,或者是只用1天,那TM连参与的用户都没弄明白呢,活动就结束了,最后能打来什么样好的数据呢?对于这样流程复杂,估计连羊毛党都看不上!!!

    02

    就想搞明白,component-scan 是怎么把Bean都注册到Spring容器的!

    你经历过618和双11吗?你加入过大促时候那么多复杂的营销活动赚几毛钱吗?你开发过连读明白玩法都需要一周但只使用3天的大促需求吗?有时候对于有些产品的需求真的是太复杂了,复杂到开发、测试都需要在整个过程中不断的学习最后才可能读懂产品为啥这样的玩,要是一个长期的活动可能也就算了,培养用户心智吗!但这一整套拉新、助力、激活、下单、投保、领券、消费、开红包等等一连串的骚操作下来,如果在线上只用3天呢,或者是只用1天,那TM连参与的用户都没弄明白呢,活动就结束了,最后能打来什么样好的数据呢?对于这样流程复杂,估计连羊毛当都看不上!!!

    02
    领券