如何解决@value获取不到yaml数组的问题

 更新时间:2024年11月18日 08:56:29   作者:follow_me!  
文章介绍了在使用YAML配置文件时,通过@Value注解获取整数和数组列表的配置方法,并提供了两种解决方案:一种适用于非嵌套列表,另一种适用于嵌套列表等复杂配置

一、yaml中的配置

如下:

andawell:
  permission:
    allPermissionSign: [["航设公司","军品销售中心"],["民用航空事业部","民航销售中心"],["航设公司","军品销售中心"],["航设公司","军品销售中心"]]
    orgName: 
     - 航设公司
     - 民用航空事业部
     - 航设公司
     - 航设公司
    activeOrg: 1

二、获取

1.整数使用@Value可正常获取:

    @Value("${andawell.permission.activeOrg}")
    int permissionActiveOrg;
  1. 获取数组/列表使用@Value时,无法正常获取:
    @Value("${andawell.permission.allPermissionSign}")
    List<List<string>>  allPermissionSign;

三、解决方案

解决方案1

对于非嵌套列表:如:swl :[a,b,c,d],

需要更改成:swl: a,b,c,d的形式;

@Value(“${swl}”) 或者 @Value("#{'${swl}'.split(',')}")

解决方案2

对于嵌套列表等复杂的配置:如:

allPermissionSign: [["航设公司","军品销售中心"],["民用航空事业部","民航销售中心"],
["航设公司","军品销售中心"],["航设公司","军品销售中心"]]

采用

@ConfigurationProperties(prefix = "andawell.permission")

获取:

@Component
@Data
@ConfigurationProperties(prefix = "andawell.permission")
public class DataSyncConfig {

    /**
     * 各个组织中具有所有权限的中心名称,依次为【航设、民航、智能、信息】下的所有权限的部门
     */
    List<List<String>> allPermissionSign;

    /**
     * 各个组织的全称,依次为【航设、民航、智能、信息】
     */
    List<String> orgName;

    /**
     * 生效的组织,【1航设、2民航、3智能、4信息】
     */
    Integer activeOrg;
}

总结

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

相关文章

  • 在SpringBoot项目中使用Java8函数式接口的方法示例

    在SpringBoot项目中使用Java8函数式接口的方法示例

    在Spring Boot项目中,Java 8 的函数式接口广泛用于实现各种功能,如自定义配置、数据处理等,函数式接口在Spring Boot中非常有用,本文展示了在SpringBoot项目中使用Java8的函数式接口的方法示例,需要的朋友可以参考下
    2024-03-03
  • 基于SpringBoot后端导出Excel文件的操作方法

    基于SpringBoot后端导出Excel文件的操作方法

    这篇文章给大家介绍了基于SpringBoot后端导出Excel文件的操作方法,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-02-02
  • Spring的事件和监听器-同步与异步详解

    Spring的事件和监听器-同步与异步详解

    这篇文章主要介绍了Spring的事件和监听器-同步与异步详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java静态代码块加载驱动代码实例

    Java静态代码块加载驱动代码实例

    这篇文章主要介绍了Java静态代码块加载驱动代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • java中数组的定义及使用方法(推荐)

    java中数组的定义及使用方法(推荐)

    下面小编就为大家带来一篇java中数组的定义及使用方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • servlet之ServletContext简介_动力节点Java学院整理

    servlet之ServletContext简介_动力节点Java学院整理

    这篇文章主要介绍了servlet之ServletContext简介,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • SpringBoot对接Spark过程详解

    SpringBoot对接Spark过程详解

    这篇文章主要介绍SpringBoot接入Spark的方法的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望能帮助大家解决问题
    2023-02-02
  • Struts2学习教程之Action类如何访问WEB资源

    Struts2学习教程之Action类如何访问WEB资源

    这篇文章主要给大家介绍了关于Struts2学习教程之Action类如何访问WEB资源的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • RestTemplate调用POST和GET请求示例详解

    RestTemplate调用POST和GET请求示例详解

    这篇文章主要为大家介绍了RestTemplate调用POST和GET请求示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • java发送http的get、post请求实现代码

    java发送http的get、post请求实现代码

    下面小编就为大家带来一篇java发送http的get、post请求实现代码。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05

最新评论