java web项目中的properties文件中的属性值在启动后进行修改(数据库密码加密等)

一、场景:

我们在db.properties中配置了数据库连接信息,数据库密码是经过加密的,我们希望对配置文件中的密码进行加密处理,如配置password=123,经过加密,实际使用时是password=avbsdfs。


二、实现:通过继承PropertyPlaceholderConfigurer改写loadProperties方法。

原使用:

<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations" value="classpath:db.properties"/>
    </bean>

自定义DecryptPropertyPlaceholderConfigurer,继承PropertyPlaceholderConfigurer,在loadProperties中做你想做的操作:

public class DecryptPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {

    private Resource[] locations;

    public void setLocations(Resource[] locations) {
        this.locations = locations;
    }

    public void loadProperties(Properties props) throws IOException {
        if (this.locations != null) {
            for(Resource location : locations){
                props.load(location.getInputStream());
            }
            props.put("name", "Kevin-change");
        }
    }
}

现使用:

<bean id="propertyPlaceholderConfigurer" class="com.ehsy.svccfg.DecryptPropertyPlaceholderConfigurer">
        <property name="locations" value="classpath:db.properties"/>
    </bean>





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值