Spring学习笔记:读取properties文件

        当我们使用 @Value注解 或者 ${} 来获取到自定义的propertier文件中的值的时候,往往需要声明一下相应的properties文件:

        (1)可以使用注解来声明:@PropertySource(value="xxx.properties ")

        (2)也可以在配置文件中声明:

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

        这样如果在代码里要使用的话,就必须声明一个@value的值,所以如果要直接在代码里get配置文件里面的值的话,可以这样做:

        重写上面的class:PropertyPlaceholderConfigurer;

public class PropertyPlaceHolder extends PropertyPlaceholderConfigurer {

    private static Map<String,String> propertyMap;

    @Override
    protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException {
        super.processProperties(beanFactoryToProcess, props);
        propertyMap = new HashMap<>();
        for (Object key : props.keySet()) {
            String keyStr = key.toString();
            String value = props.getProperty(keyStr);
            propertyMap.put(keyStr, value);
        }
    }

    public static String getProperty(String name) {
        return propertyMap.get(name);
    }
}

这样在代码中就可以直接使用PropertyPlaceHolder的gtePropert函数来获取相应的属性值:

PropertyPlaceHolder.getProperty("spring.datasource.receive.username");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值