使用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());
    }

}

使用:

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

不同于读取静态文件的方式,这种方式能加载类似于 test.hello = ${test.a}/${test.b}的属性值
时间: 2024-10-10 01:07:02

使用EmbeddedValueResolverAware读取配置文件内容的相关文章

python + selenium -- 读取配置文件内容

任何一个项目,都涉及到了配置文件和管理和读写,python 支持很多配置文件的读写.本文记录使用 python + selenium自动化过程中,学习的使用python自带的ConfigParser类读取ini配置文件的方法. 1.在所在项目新建一个文件夹,如config,在配置文件中新建一个文件,如config.ini 配置文件填写内容如下: 1 [broswer_name] 2 broswer = 'firefox' 3 4 [server] 5 server = 'http://www.b

Spring MVC框架下在java代码中访问applicationContext.xml文件中配置的文件(可以用于读取配置文件内容)

<bean id="propertyConfigurer" class="com.****.framework.core.SpringPropertiesUtil" lazy-init="false"> <property name="locations"> <list> <value>classpath:config/sys.properties</value> &

spring读取配置文件内容并自动注入

添加注解: @PropertySource(value={"classpath:venus.properties"}) 示例: import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Service; import java.u

SpringBoot2 java配置方式 Configuration和PropertySource结合读取配置文件

JdbcConfig.java Configuration是配置文件 PropertySource 引入配置文件 value读取配置文件内容 package cn.itcast.config; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.B

使用Properties去读取配置文件,并获得具体内容值

有时候,写了一个配置文件,需要知道读出来的内容对不对,我们需要测试一下,看看读出来的跟我们要的是不是一样.这里写了一个工具类,用来读取配置文件里面的内容. 1.新建一个java工程,导入需要的jar包,新建一个配置文件 如下图: 2.配置文件的内容: 1 driver=com.mysql.jdbc.Driver 2 url=jdbc:mysql://localhost:3306/csdn 3 user=root 4 pwd=123456 5 initsize=1 6 maxactive=1 7

C#利用newtonsoft.json读取.so配置文件内容

今天花 了点时间来使用 C#读取json文件 ,文件后缀为 .so文件 ,也是基于文件流的形式 获取 对象 ,然后解析; 之所以尝试 使用 json读取 ,是因为其配置文件的格式 更为友好 和方便,直观 且形象,当然 XML也是很方便的; 主要是多了一种读取 配置文件的方式:特记录下来,方便后续项目实际使用: 格式如图: 需要注意的是这种格式需注意编辑: 当然通过代码初始化和写入的话,会自动生成如上的格式的,本文只完成如何读取配置文件的信息: 引用的程序集如: using System; usi

【无私分享:ASP.NET CORE 项目实战(第八章)】读取配置文件(二) 读取自定义配置文件

目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 我们在 读取配置文件(一) appsettings.json 中介绍了,如何读取appsettings.json. 但随之产生了问题:我们使用的是在 Startup.cs 中(如下图)来实现配置读取,有两个问题 ① 我们如果定义N种配置,是否要再这里添加N条这样的配置 : ② 如果我们的配置不想写在appsettings.json中呢 解决问题 带着上面的两个问题,我们首先来添加一个配置文件 siteconfig.json

关于逐行逐行读取文本内容并写入数组

有关逐行写入的在这里 下面是关于逐行读取 fn maxfilelog finpath = ( fin = openfile finpath seek fin #eof maxlen=filepos fin seek fin 0 res = readChars fin maxlen errorAtEOF:false filterString res "\n" ) -- 将文件内容逐行添加到数组 之前想用来记录和读取配置文件,后来发现了更简单的... getINISetting <f

Spring读取配置文件,地址问题,绝对路径,相对路径

Spring在读取配置文件时,是相对于bin,或者WEB-INF的: “applicationContext.xml”就是找bin或WEB-INF及子文件夹下的文件: “/res/applicationContext.xml”就是必须bin或WEB-INF文件夹下的res文件夹的文件://res可以换掉: 下面是找的一些关于相对路径和绝对路径的资料: 转自:http://www.cnblogs.com/mabaishui/archive/2011/03/17/1987226.html 1.基本概