springboot 自定义属性文件拓展名(PropertySourceLoader)


springboot 自定义属性文件拓展名(PropertySourceLoader)

                    

                                        

*********************

相关类与接口

                

PropertySourceLoader

public interface PropertySourceLoader {
    String[] getFileExtensions();

    List<PropertySource<?>> load(String name, Resource resource) throws IOException;
}

                        

PropertiesPropertySourceLoader

public class PropertiesPropertySourceLoader implements PropertySourceLoader {
    private static final String XML_FILE_EXTENSION = ".xml";

    public PropertiesPropertySourceLoader() {
    }

    public String[] getFileExtensions() {
        return new String[]{"properties", "xml"};
    }  //加载properties、xml后缀的属性文件

    public List<PropertySource<?>> load(String name, Resource resource) throws IOException {
        List<Map<String, ?>> properties = this.loadProperties(resource);
                                          //加载属性文件
        if (properties.isEmpty()) {
            return Collections.emptyList();
        } else {
            List<PropertySource<?>> propertySources = new ArrayList(properties.size());

            for(int i = 0; i < properties.size(); ++i) {
                String documentNumber = properties.size() != 1 ? " (document #" + i + ")" : "";
                propertySources.add(new OriginTrackedMapPropertySource(name + documentNumber, Collections.unmodifiableMap((Map)properties.get(i)), true));
            }  //转换为List<PropertySource<?>>

            return propertySources;
        }
    }

    private List<Map<String, ?>> loadProperties(Resource resource) throws IOException {
        String filename = resource.getFilename();
        List<Map<String, ?>> result = new ArrayList();
        if (filename != null && filename.endsWith(".xml")) {
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值