SpringBoot如何导入自定义配置的yml文件

来源:互联网 发布:文明5 mac steam 汉化 编辑:程序博客网 时间:2024/04/19 06:13

首先在你的资源文件下放入你的yml文件:

productMap:##### 马上贷 ############################  msd:    code: 1101    desc: 马上贷##### 商品贷 ############################  spd:    code: 31    desc: 商品贷##### 信用钱包 ##########################  xyqb:    code: 41    desc: 信用钱包##### 安逸花APP #########################  ayx:    code: 42    desc: 安逸花APP##### 支付宝服务窗 #######################  zfbfwq:    code: 44    desc: 支付宝服务窗##### 分期商城 ##########################  fqsc:    code: 61    desc: 分期商城

然后通过@ConfigurationProperties注解将配置文件里的参数引入到代码中

package com.msxf.faq.common;import com.msxf.faq.entity.QueryFinanceProductBo;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Bean;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * Created by yang.jin on 2016/11/7. */@ConfigurationProperties(locations = {"classpath:config/product-config.yml"})public class ProductConfigProperties {    private Map<String, QueryFinanceProductBo> productMap = new HashMap<String, QueryFinanceProductBo>();    public List<QueryFinanceProductBo> getProductList(){        ArrayList<QueryFinanceProductBo> productList = new ArrayList<QueryFinanceProductBo>();        productList.add(productMap.get("msd"));        productList.add(productMap.get("spd"));        productList.add(productMap.get("xyqb"));        productList.add(productMap.get("ayx"));        productList.add(productMap.get("zfbfwq"));        productList.add(productMap.get("fqsc"));        return productList;    }    public Map<String, QueryFinanceProductBo> getProductMap() {        return productMap;    }    public void setProductMap(Map<String, QueryFinanceProductBo> productMap) {        this.productMap = productMap;    }}

之后封装方法,将参数提供给外部调用

List<QueryFinanceProductBo> findProducts = productConfigProperties.getProductList();

最后将引入配置文件的类通过@EnableConfigurationProperties注解使其生效


@EnableConfigurationProperties({ProductConfigProperties.class})@SpringBootApplication(scanBasePackages = {"com.msxf.faq","com.msxf.cms", "com.msxf.eyas"})@PropertySource(value = {"${remote.file}"})public class App extends SpringBootServletInitializer{

0 0
原创粉丝点击