Spring 中 EmbeddedValueResolverAware

Spring 获取 properties 文件单个属性值,一般使用 @Value 件属性值。

下面提供另一种基于Spring解析获取 properties 文件单个属性值的方式,使用 EmbeddedValueResolverAware 。

properties 文件:

db.user=root
db.password=123456
db.driverClass=com.mysql.jdbc.Driver

PropertiesUtil 工具类:

@Component
//@PropertySource("classpath:/dbconfig.properties")//指定 properties 文件,不是必须的
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);
    }
}

使用:

@Component
public class Test {
	@Autowired
	private PropertiesUtil propertiesUtil;

	public static void main(String[] args){
		String s = propertiesUtil.getPropertiesValue("db.user");
	}
}

转载:Spring 中 EmbeddedValueResolverAware

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值