我的编程空间,编程开发者的网络收藏夹
学习永远不晚

springboot怎么读取yml文件中的list列表、数组、map集合和对象

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

springboot怎么读取yml文件中的list列表、数组、map集合和对象

本篇内容主要讲解“springboot怎么读取yml文件中的list列表、数组、map集合和对象”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot怎么读取yml文件中的list列表、数组、map集合和对象”吧!

application.yml定义list集合

第一种方式使用@ConfigurationProperties注解获取list集合的所有值

type:  code:    status:      - 200      - 300      - 400      - 500

编写配置文件对应的实体类,这里需要注意的是,定义list集合,先定义一个配置类Bean,然后使用注解@ConfigurationProperties注解来获取list集合值,这里给大家讲解下相关注解的作用

  • @Component 将实体类交给Spring管理

  • @ConfigurationProperties(prefix = “type.code”) 读取yml文件中的list

  • @Data 自动生成getter和setter方法

如下图所示

package com.o2o.data;import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Configuration;import java.util.List;@Component@ConfigurationProperties(prefix = "type.code") // 配置文件的前缀@Datapublic class TypeCodeConfig {    private List<String> status;    public void setStatus(List<String> status){        this.status = status;    }    public List<String> getStatus(){        return status;    }}

然后在要使用的地方自动注入,我是直接在启动类中读取这个list,需要注意,使用yml中配置的list需要先将对象注入,然后通过get方法读取配置文件中的的值。

  • @Autowired private TypeCodeConfig typeCodeConfig; 使用注解将对象注入

  • System.out.println(typeCodeConfig.getStatus()); 调用getter方法读取值

package com.o2o;import com.o2o.data.TypeCodeConfig;import org.mybatis.spring.annotation.MapperScan;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.CommandLineRunner;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})@MapperScan("com.o2o.mapper")public class AutoTestApplication implements CommandLineRunner {public static void main(String[] args) {SpringApplication.run(AutoTestApplication.class, args);}@Autowiredprivate TypeCodeConfig typeCodeConfig;@Overridepublic void run(String... args) throws Exception {System.out.println(typeCodeConfig.getStatus());

启动springboot我们已经从控制台成功读取到yml文件中list集合的所有值了

springboot怎么读取yml文件中的list列表、数组、map集合和对象

第二种方式使用@value注解获取list集合的所有值

yml文件配置如下

student:  ids:    - 7    - 8    - 9

然后创建一个实体类

@Datapublic class Student {    @Value("${student.ids}")    private List<Integer> ids;}

再新建一个对list属性的配置类

@Component@ConfigurationProperties(prefix = "student")@Datapublic class TypeCodeConfig {private List<Integer> ids;   public void setIds(List<Integer> ids) {       this.ids = ids;   }      public  List<Integer> getIds(){       return ids;}

在启动类中注入

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})@MapperScan("com.o2o.mapper")public class AutoTestApplication implements CommandLineRunner {public static void main(String[] args) {SpringApplication.run(AutoTestApplication.class, args);}@Autowiredprivate TypeCodeConfig typeCodeConfig;@Overridepublic void run(String... args) throws Exception {System.out.println(typeCodeConfig.getIds());}

启动springboot我们已经从控制台成功读取到yml文件中list集合的所有值了

springboot怎么读取yml文件中的list列表、数组、map集合和对象

application.yml定义数组类型

yml配置文件如下图所示

dataSync: enable: true type: - "1" - "2" - "3"

通过@value注解获取数组值

@Value("${dataSync.enable.type}") private String[] type;

也可以通过创建配置类bean,使用@ConfigurationProperties注解获取,如下图所示:

@Data@Component@ConfigurationProperties(prefix = "dataSync.enable") // 配置 文件的前缀public class InterceptorPathBean{      private String[] type;}

yml文件还可以存放对象和对象的集合,使用方法与基本类型类似。
简单举例:

定义map集合配置

interceptorconfig:  path:    maps:      name: 小明      age: 24

通过创建配置类bean,使用@ConfigurationProperties注解获取map值,如下图所示

@Data@Component@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置 文件的前缀public class InterceptorPathBean{    private Map<String , String> maps;}

使用对象配置

student:  id: 1  name: Bruce  gender: male

使用对象集合配置

students:   - id: 1    name: Bruce    gender: male  - id: 2    name: ...    ...

这里我给大家总结一些需要重要的点:

list类型的yml配置文件中,需要使用"-"来组成一个列表集合。

yml中的前缀没有层级限制,如果是多层级,比如这里的demo/code,在java类中配置ConfigurationProperties注解的prefix就写作"demo.code"

属性名称在yml文件中支持连字符"-",比如four-span,在java类中配置属性就需要转为驼峰式,fourSpan。

java类属性需要配置set,get方法。

到此,相信大家对“springboot怎么读取yml文件中的list列表、数组、map集合和对象”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

springboot怎么读取yml文件中的list列表、数组、map集合和对象

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

springboot怎么读取yml文件中的list列表、数组、map集合和对象

本篇内容主要讲解“springboot怎么读取yml文件中的list列表、数组、map集合和对象”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot怎么读取yml文件中的list列
2023-07-05

springboot读取yml文件中的list列表、数组、map集合和对象方法实例

在平时的yml配置文件中,我们经常使用到配置基本数据类型的字符串,下面这篇文章主要给大家介绍了关于springboot读取yml文件中的list列表、数组、map集合和对象的相关资料,需要的朋友可以参考下
2023-02-24

SpringBoot怎么读取配置文件中的数据到map和list

今天小编给大家分享一下SpringBoot怎么读取配置文件中的数据到map和list的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录