我是靠谱客的博主 高挑老鼠,最近开发中收集的这篇文章主要介绍@Value和@ConfigurationProperties接收List、Map格式配置信息的2种方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • 引以为戒:指点江山(装逼)后请帮人解答疑惑(大佬的基本素养)
  • 科普借鉴:https://cloud.tencent.com/developer/article/1522660
  • @Value不支持复杂类型封装,但是我们可能有实际需要指定不同的全路径进行List、Map的接收(详见下文)。
  • 属性默认值大家可以在评论区贴出来(赶需求中,临时记录一下)

  • 配置信息(Nacos配置格式缩进用的Tab,复制需要修改缩进)
url:
    apk:
        download:
            defaultMap:
                com.swl.aplayb222: www.baidu.com0
                com.swl.aplayb111: aplayb11
            defaultList:
                - com.swl.aplayb111
                - com.swl.aplayb222
        testMap: '{"name": "zhangsan", "sex": "male"}'
        testList: com.swl.aplayb222,com.swl.aplayb111
  • 方式1:接收testMap和testList
package com.xxl.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@RefreshScope
@Component
@Data
/**
 * 参考:
 *  https://www.cnblogs.com/javastack/p/13862164.html
 *
 */
public class URLNacosConfiguration1 {
    @Value("#{${url.apk.testMap}}")
    private Map<String, String> apkdownloadDefaultMap1;

    @Value("#{'${url.apk.testList}'.split(',')}")
    private List<String> apkTestList;
}
  • 方式2:接收defaultMap、defaultList
package com.xxl.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@RefreshScope
@Component
@Data
//读取远程配置文件
@ConfigurationProperties(prefix = "url.apk.download")
//读取本地配置文件
//@PropertySource(value = "classpath:xx.properties",encoding = "UTF-8") 
public class URLNacosConfiguration2 {
    private Map<String, String> defaultMap;
    private List<String> defaultList;

}
  • 结果

最后

以上就是高挑老鼠为你收集整理的@Value和@ConfigurationProperties接收List、Map格式配置信息的2种方式的全部内容,希望文章能够帮你解决@Value和@ConfigurationProperties接收List、Map格式配置信息的2种方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部