使用EmbeddedValueResolverAware读取配置文件内容
Posted 何事西风悲画扇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用EmbeddedValueResolverAware读取配置文件内容相关的知识,希望对你有一定的参考价值。
在基于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}的属性值
以上是关于使用EmbeddedValueResolverAware读取配置文件内容的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)