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