您的位置:首页 > 编程语言 > Java开发

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

2016-12-26 18:23 876 查看
首先在你的资源文件下放入你的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();


b842

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

@EnableConfigurationProperties({ProductConfigProperties.class})
@SpringBootApplication(scanBasePackages = {"com.msxf.faq","com.msxf.cms", "com.msxf.eyas"})
@PropertySource(value = {"${remote.file}"})
public class App extends SpringBootServletInitializer{
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springboot