sprintboot @ConfigurationProperties注入复杂对象

本例子使用@configurationProperties注解注入maps对象

1.首先yml文件中配置信息

currency:
  link:
    maps: {USD: https://xxx.oss-ap-southeast-1.aliyuncs.com/reconciliation_sample.pdf,
           AED: https://xxx.oss-ap-southeast-1.aliyuncs.com/reconciliation_sample.pdf,
           BTC: https://btc.com/,
           ETH: https://etherscan.io/,
           LTC: https://live.blockcypher.com/ltc/,
           BCH: https://bch.btc.com/}
    defaults: '#'

2.定义实体类

/**
 * @Author: jinx
 * @Date: 2019-05-23 16:32
 * @Desc:
 */
@Component
@ConfigurationProperties(prefix = "currency.link")
@Data
public class Link {
    /**
     * currency:downloadLink
     */
    private Map<String,String> maps;
    private String defaults;
}

3.使用的地方注入直接遍历该对象中的map集合

@Resource
private Link link;

private String getLink(Currency currency) {
        for (String s : link.getMaps().keySet()) {
            if (s.equals(currency.name)) {
                String result = link.getMaps().get(s);
                if (StringUtils.isNotBlank(result)) {
                    return result;
                }
            }
        }
        return link.getDefaults();
    }

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值