由于eproperties是有点不维护和commonsconfiguration依赖于日志logging(具有讽刺意味的是你不能用它来configuration日志logging)我使用这个代码片段,只需要commons-lang(3)加载插值的属性:

@SuppressWarnings("serial") public static Map loadPropertiesMap(InputStream s) throws IOException { final Map ordered = new LinkedHashMap(); //Hack to use properties class to parse but our map for preserved order Properties bp = new Properties() { @Override public synchronized Object put(Object key, Object value) { ordered.put((String)key, (String)value); return super.put(key, value); } }; bp.load(s); final Map resolved = new LinkedHashMap(ordered.size()); StrSubstitutor sub = new StrSubstitutor(new StrLookup() { @Override public String lookup(String key) { String value = resolved.get(key); if (value == null) return System.getProperty(key); return value; } }); for (String k : ordered.keySet()) { String value = sub.replace(ordered.get(k)); resolved.put(k, value); } return resolved; }

input :

blah=${user.dir} one=1 two=2 five=5 fifteen=${one}${five} twoonefive=${two}${fifteen} six=6

输出 :

blah=/current/working/dir one=1 two=2 five=5 fifteen=15 twoonefive=215 six=6

很明显Map如果你需要的话Map你可以将Map转换回一个Properties对象。 我根据先前声明的属性和系统属性来parsing,但是您可以明显地在StrSubstitutor.lookup调整它。

java properties $,如何引用java.util.Properties中的另一个属性?相关推荐

  1. 有属性的自定义注解,如何获取到post请求中RequestBody中对象的一个属性值?

    1,写两个自定义注解,一个作用于方法的,一个作用于字段的 作用于方法的自定义注解代码: package com.youku.nintendo.annotation;import enums.Permi ...

  2. Vue data 中随意更改一个属性,视图都会被更新吗?

    以下内容来自公众号逆锋起笔,关注每日干货及时送达 作者:Rudy24 链接:https://juejin.cn/post/7040733315791323143 面试官:看过 Vue 的源码没? 候选 ...

  3. java super是引用变量吗_Java中super的几种用法并与this的区别

    1.     子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println("Base" ...

  4. Java主方法引用传递_java方法中的参数传递是值传递还是引用传递(转)

    1.当参数变量为基本数据类型或者字符串时: ... ... //定义了一个改变参数值的函数 public static void changeValue(int x) { x = x *2; } .. ...

  5. java集合对象排序_java ArrayList集合中的某个对象属性进行排序的实现代码

    开发中有时候需要自己封装分页排序时,List如何对某一属性排序呢,分享一个小实例,大家共勉,希望能对大家有用,请多多指教. 1.Student的Bean如下: public class Student ...

  6. java数组删除元素_java删除数组中的某一个元素的方法

    下面小编就为大家带来一篇java删除数组中的某一个元素的方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 实例如下: package org.company.proj ...

  7. java -jar maven项目打包提示.jar中没有主清单属性

    mvn package java -jar target/java_bottom_level_learning-1.0-SNAPSHOT.jar 这里报错了: target/java_bottom_l ...

  8. java rmi 多ip_在rmi连接中客户端指定一个ip地址,但程序执行中却转换成另一个地址...

    局域网中的两台电脑想通过rmi技术连接通信 服务器端>ip地址:192.168.10.28 import java.net.MalformedURLException; import java. ...

  9. java路径向上引用_关于javaweb中的绝对路径和相对路径(关于引用外部资源时的路径问题)...

    相信大家在写web项目时,对于外间资源的引用多多少少都会用到,而此时引用的路径就显得十分重要!(在跳转或者其它请求后页面样式得丢失便就是路径得问题) 在开始之前大家需要明白一点就是web项目创建的时候 ...

最新文章

  1. tomcat 如何实现共享jar
  2. 设计模式(八)之单例模式
  3. JavaXml教程(一)简介
  4. EL:集成学习(Ensemble Learning)的概念讲解、问题应用、算法分类、关键步骤、代码实现等相关配图详细攻略
  5. 传输协议上的字节解析问题
  6. 一个很好的机器学习普及网站
  7. 【剑指Offer】20包含min函数的栈
  8. [转载] python字符串_一文详解Python字符串条件判断方法
  9. 181011词霸扇贝有道每日一句
  10. CMD使用教程-整理最全面的cmd用法
  11. MES助力日立电梯提升精细化管理水平
  12. 【DB2】查询上月末、上年末、上年同期等信息
  13. 罗马数字转换 java_JAVA 罗马数字转换成公历年
  14. 使用python实现简单网页图片抓取
  15. 软件测试-面试题(基础+性能)
  16. 教你批量采集晨光文具的商品图片到电脑中
  17. 沪漂大专程序员,一边跟刘畊宏健身,一边拿22k的offer
  18. [学习]简易搜索引擎的制作
  19. wireshark抓包测试:海康摄像机
  20. 国内外6款优秀的免费CDN服务

热门文章

  1. 计算机刻录光盘不显示,为什么我的CD刻录光盘的容量在
  2. 发明python的人是个天才_BBC纪录片《天才的发明 The Genius of Invention》全4集 英语中英字幕 720P高清纪录片...
  3. python执行mysql存储过程_Mysql学习---使用Python执行存储过程
  4. python_知识点_字符串+数字+列表
  5. 【剑指Offer】60、把二叉树打印成多行
  6. Qt-网易云音乐界面实现-3 音乐名片模块的实现
  7. Python3异常-AttributeError: module 'sys' has no attribute 'setdefaultencoding'
  8. StreamInsight查询系列汇总
  9. linux挂载目录已存在可以么,Linux如何更改硬盘已挂载目录
  10. 编译器之后端原理(三十六)