springboot读取.properties配置文件中的map和list类型配置参数方式

 更新时间:2025年03月25日 09:04:39   作者:码灵  
这篇文章主要介绍了springboot读取.properties配置文件中的map和list类型配置参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

springboot读取.properties配置文件中的map和list类型配置参数

xxx.properties文件中存放一组配置参数,分别为map类型和list类型,做测试方式,读取配置参数。

1.配置文件xxx.properties

#map 第一种方式
data.person.name=zhangsan
data.person.sex=man
data.person.age=11
data.person.url=xxxxxxxx
#map 第二种方式
data.person[name]=zhangsan
data.person[sex]=man
data.person[age]=11
data.person[url]=xxxxxxxx
#list 第一种方式
data.list[0]=apple0
data.list[1]=apple1
data.list[2]=apple2
#list 第二种方式
data.list=apple0,apple1,apple2

2.注入配置信息

@Configuration
@ConfigurationProperties(prefix = "data")
//如果只有一个主配置类文件,@PropertySource可以不写
@PropertySource("classpath:xxx.properties")
public class PersonConfig {
 
    /**
     * data.person.name
     * 这里map名需要和application.properties中的参数一致
     */
    private Map<String, String> person = new HashMap<>();
    /**
     * data.list
     * 这里list名需要和application.properties中的参数一致
     */
    private List<String> list = new ArrayList<>();
 
 
    /**
     * 编写get,set方法方便使用
     */
    public Map<String, String> getPerson() {
        return person;
    }
 
    public void setPerson(Map<String, String> person) {
        this.person = person;
    }
 
    public List<String> getList() {
        return list;
    }
 
    public void setList(List<String> list) {
        this.list = list;
    }
}

3.使用

    @Autowired
    private PersonConfig personConfig;
 
    @Test
    public void contextLoads() {
 
        Map<String, String> person = personConfig.getPerson();
        List<String> list = personConfig.getList();
        System.out.println("image:"+JSONObject.fromObject(person).toString());
        System.out.println("list:"+ JSONArray.fromObject(list).toString());
    }
 
    //输出结果
    image:{"sex":"man","name":"zhangsan","age":"11","url":"xxxxxxxx"}
    list:["apple0","apple1","apple2"]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java的前期绑定和后期绑定使用示例

    java的前期绑定和后期绑定使用示例

    java的前期绑定在程序执行前根据编译时类型绑定,调用开销较小,如C语言只有前期绑定这种方法调用
    2014-02-02
  • SpringBoot实现JWT 认证的项目实践

    SpringBoot实现JWT 认证的项目实践

    本文介绍了Spring Boot中实现JWT认证,并介绍了扩展JWT认证功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-08-08
  • 详解SpringCloud的负载均衡

    详解SpringCloud的负载均衡

    这篇文章主要介绍了SpringCloud的负载均衡的相关资料,帮助大家更好的理解和学习使用SpringCloud,感兴趣的朋友可以了解下
    2021-03-03
  • 分布式组件Gateway技术栈系统性理解和操作

    分布式组件Gateway技术栈系统性理解和操作

    这篇文章主要介绍了分布式组件Gateway技术栈系统性理解和操作,要真正理解和使用Gateway技术栈,需要从架构认知、核心机制、实践应用三个维度建立系统性理解,需要的朋友可以参考下
    2026-02-02
  • VMware虚拟机下hadoop1.x的安装方法

    VMware虚拟机下hadoop1.x的安装方法

    这篇文章主要为大家详细介绍了VMware虚拟机下hadoop1.x的安装方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 解决Feign异步调用丢失上下文问题

    解决Feign异步调用丢失上下文问题

    在微服务中使用Feign调用时,若需要携带登录状态的Cookie信息,通常会使用拦截器,但在异步调用(如order服务异步调用会员服务和购物车服务)时,拦截器可能无法获取上下文信息,导致异常,解决方法是将RequestContextHolder的数据同步到新开启的线程中
    2024-11-11
  • 如何使用Spring Boot设置上传文件大小限制

    如何使用Spring Boot设置上传文件大小限制

    上传文件是互联网中常应用的场景之一,最典型的情况就是上传头像等,下面这篇文章主要给大家介绍了关于如何使用Spring Boot设置上传文件大小限制的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • JAVA项目字典与缓存搭配使用方法解析

    JAVA项目字典与缓存搭配使用方法解析

    这篇文章主要介绍了JAVA项目字典与缓存搭配使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • JVM内存飙升线上问题排查方式

    JVM内存飙升线上问题排查方式

    文章主要介绍了线上CMS服务内存增长问题的排查过程,通过分析GC日志和堆栈快照,定位问题为Nacos的NamingService对象无法回收和MySQL的CallableStatement对象增长迅速,最终通过将NamingService改为单例模式解决了内存增长问题
    2025-03-03
  • 一篇文章带你了解java泛型--泛型类,泛型方法,泛型接口

    一篇文章带你了解java泛型--泛型类,泛型方法,泛型接口

    这篇文章主要介绍了java泛型基础知识及通用方法,从以下几个方面介绍一下java的泛型: 基础, 泛型关键字, 泛型方法, 泛型类和接口,感兴趣的可以了解一下
    2021-08-08

最新评论