在基于Spring获取properties文件属性值的时候,一般使用@Value的方式注入配置文件属性值,但是总是需要引入这些多余的变量,有点不爽,今天研究了下,基于Spring解析@Value的方式,使用EmbeddedValueResolverAware解析配置文件,实现起来也很简单

工具类如下:

@Component
public class PropertiesUtil implements EmbeddedValueResolverAware { private StringValueResolver resolver; @Override
public void setEmbeddedValueResolver(StringValueResolver resolver) {
this.resolver = resolver;
} /**
* 获取属性,直接传入属性名称即可
* @param key
* @return
*/
public String getPropertiesValue(String key) {
StringBuilder name = new StringBuilder("${").append(key).append("}");
return resolver.resolveStringValue(name.toString());
} }

使用:

@Autowired
private PropertiesUtil propertiesUtil;
String s = propertiesUtil.getPropertiesValue("test.hello");

不同于读取静态文件的方式,这种方式能加载类似于 test.hello = ${test.a}/${test.b}的属性值

最新文章

  1. C#上位机制作之串口接受数据(利用接受事件)
  2. WebForm aspx页面传值---7种方式
  3. nonatomic, retain,weak,strong用法详解
  4. Linux中Bash发现重大安全漏洞修改方法
  5. Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞
  6. CODE[VS]-机票打折-浮点数处理-天梯青铜
  7. ubuntu 上配置python +selenium环境
  8. 逆向libbaiduprotect(四)
  9. .NET C#转Java没那么难,开发环境篇
  10. Linux安装Oracle JDK替换OpenJDK详解
  11. (PAT)L2-006 树的遍历 (二叉树构建)
  12. Python3集合
  13. TCP/IP学习20180630-数据链路层-router choose
  14. gcc/g++ 使用 tricks
  15. rtp header
  16. 优雅地乱玩Linux-6-Chrome端SSH插件
  17. mongo 记得开启验证 auth = true
  18. [UE4] C++实现Delegate Event实例(例子、example、sample)
  19. vue深入了解组件——动态组件&异步组件
  20. 盗COOKIE之方法总结

热门文章

  1. x电容和Y电容
  2. 一点做用户画像的人生经验:ID强打通
  3. SpringApplication初始化
  4. office2010激活 错误代码0X8007000D,KMS激活0x8007000D错误解决办法,亲测成功激活
  5. Matlab 2016b 正式版下载
  6. 在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用
  7. HAproxy通过X-Forwarded-For 获取代理的上一层用户真实IP地址
  8. linux下工具exfs用法
  9. sql字段组合唯一
  10. Win7多用户情况下,指定某一用户为自动登陆-解决办法