SpringBoot yaml中的数组类型取值方式

目录
  • yaml中的数组类型取值
    • 先说下简单的配置如何取值
  • springboot配置文件yml的数组形式
    • 配置文件
    • 实体类

yaml中的数组类型取值

yaml中简单的风格,十分受大家的欢迎

先说下简单的配置如何取值

# application-dev.yml
 testValue:
  testValueChild: testValueChildValue
...
// SomeServiceImpl.java
@Service
public class SomeServiceImpl {
 // 这样就可以直接拿到配置信息啦
  @Value("${testValue.TestValueChild}")
  private String testValueChild;
 ...
}

有些时候我们会需要一些数组类型,下面简单介绍一种配置信息为数组的写法,比如我们有以下格式的配置,数据同步是否开启,以及数据同步需要同步的数据类型,

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

此时无法使用@Value取值,可通过如下方式取值,

...
// 单独注册一个bean,用于存储这类配置信息
@Component
@Data
@ConfigurationProperties(prefix = "data-sync")
public class DataSyncConfig {
    private Boolean enable;
    private List<String> types;
}
...
public class SomeServiceImpl{
  @AutoWired
  private DataSyncConfig dataSyncConfig;

public void youerMethod() {
  List<String> types = dataSyncConfig.getTypes();
}
}

springboot配置文件yml的数组形式

配置文件

proxy:
    url:
    - "http://www.baidu.com"
    - "http://www.jd.com"   

实体类

@Data
@NoArgsConstructor
@AllArgsConstructor
@Configuration
@ConfigurationProperties(prefix = "proxy")
public class ProxyConfig {
    private String[] url;
}

对象里面的引用名字(‘url'),必须和yml文件中的(‘url')一致,不然就会取不到数据。

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

(0)

相关推荐

  • 详解springboot读取yml配置的几种方式

    yml 文件规则 yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的. 不支持tab缩进 可以使用 "-小写字母" 或 "_小写字母"来 代替 "大写字母",如 userName 与 user-name ,user_name 含义是一样的 key: value 格式书写 key 后面跟着冒号,再后面跟着一个空格,然后是值 几种数据格式的表示方式 1.普通的值(数字,字符串,布尔) 2.对象.Map (属性和值) (

  • 如何更优雅地获取spring boot yml中的值

    前言 偶然看到国外论坛有人在吐槽同事从配置文件获取值的方式,因此查阅了相关资料发现确实有更便于管理更优雅的获取方式. github demo地址: springboot-yml-value 1.什么是yml文件 application.yml取代application.properties,用来配置数据可读性更强,尤其是当我们已经制定了很多的层次结构配置的时候. 下面是一个非常基本的yml文件: server: url: http://localhost myapp: name: MyAppli

  • Spring Boot使用yml格式进行配置的方法

    1.yml 格式 现在大家发现,在springboot里还是要用到配置文件的. 除了使用.properties外,springboot还支持 yml格式. 个人觉得yml格式的可读性和..properties比起来差不多,有时候还没有不如properties 看起来那么规整. 但是考虑到很多springboot项目会使用yml格式,还是简单讲讲,主要目的还是为了读懂其他人的项目. 2.同样内容,不同写法 如图所示,左边是application.properties的写法,右边是applicati

  • Springboot 如何指定获取出 yml文件里面的配置值

    之前写过一篇获取properties文件里面的值: Springboot 指定获取自己写的配置properties文件的值 www.jb51.net/article/217899.htm 现在补充多一篇,指定获取yml里面的配置值 . 内容: 这里分别介绍两种方式,都是基于注解实现,分别是: @Value("${xxxxx.xx}") @ConfigurationProperties(prefix = "xxxxx") 进入主题: @Value("${xx

  • SpringBoot yaml中的数组类型取值方式

    目录 yaml中的数组类型取值 先说下简单的配置如何取值 springboot配置文件yml的数组形式 配置文件 实体类 yaml中的数组类型取值 yaml中简单的风格,十分受大家的欢迎 先说下简单的配置如何取值 # application-dev.yml testValue: testValueChild: testValueChildValue ... // SomeServiceImpl.java @Service public class SomeServiceImpl { // 这样就

  • java提取json中某个数组的所有值方法

    实例如下所示: public class JsonExtracter { public static void main(String[] args) { String s = "{\"name\":\"a\",\"family\":[\"张三\",\"李四\"]}"; JSONObject jsonObject = JSON.parseObject(s); //注意:family中的内

  • php 数组随机取值的简单实例

    array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1. array_rand -- 从数组中随机取出一个或多个单元 mixed array_rand ( array input [, int num_req]) array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指

  • python mongo 向数据中的数组类型新增数据操作

    我就废话不多说了,大家还是直接看图吧~ 补充知识:pymongo插入数据时更新和不更新的使用 (1)update的setOnInsert 当该key不存在的时候执行插入操作,当存在的时候则不管,可以使用setOnInsert db.test.update({'_id': 'id'}, {'$setOnInsert': {'a': 'a'}, true) 当id存在的时候,忽略setOnInsert. (2)update的set 当key不存在的时候执行插入操作,当存在的时候更新除key以外的se

  • MyBatis中foreach标签的collection属性的取值方式

    目录 foreach标签的collection属性的取值 传的是List列表 传的是Array数组 传的是Map collection属性总结 MyBatis使用foreach标签报错 原因 解决方案 foreach标签的collection属性的取值 传的是List列表 接口代码 List<Emp> findEmpByDeptnos(List<Integer> deptnos); xml配置代码 <select id="findEmpByDeptnos"

  • JavaScript中${pageContext.request.contextPath}取值问题及解决方案

    在JSP里取${pageContext.request.contextPath},方式一是可以正常取到,但方式二却取到的是 字符"${pageContext.request.contextPath}" 方式一: <script type="text/JavaScript"> var t = "${pageContext.request.contextPath}"; <script> 方式二: <script src=

  • 在python中bool函数的取值方法

    bool是Boolean的缩写,只有真(True)和假(False)两种取值 bool函数只有一个参数,并根据这个参数的值返回真或者假. 1.当对数字使用bool函数时,0返回假(False),任何其他值都返回真. >>> bool(0) False >>> bool(1) True >>> bool(-1) True >>> bool(21334) True 2.当对字符串使用bool函数时,对于没有值的字符串(也就是None或者空

  • 详解layui中的树形关于取值传值问题

    本文介绍了layui中的树形关于取值传值问题,分享给大家,具体如下: 这个是我们需要的效果,实际操作中会先执行渲染 然后在执行方法,然后我们发现树形的JSON是空,调试了N遍一直以为是优先级别的问题了. 最后解决方案是 <script type="text/javascript"> ////layui 的 form 模块 var form = ""; layui.use(['form'], function () { // $ = layui.jquer

  • Python中base64与xml取值结合问题

    Base64是一种用64个字符来表示任意二进制数据的方法. 用记事本打开exe.jpg.pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法.Base64是一种最常见的二进制编码方法. 具体代码如下所述: import base64 from xml.dom import minidom # 打开xml文件 dom=minidom.parse("D:\\pythonp\\t

  • Numpy中创建数组的9种方式小结

    目录 1.使用empty方法创建数组 2.使用array创建数组 3.使用zeros/ones创建数组 4.使用arange创建数组 5.使用linspace创建数组 6.使用numpy.random.rand创建数组 7.使用numpy.random.randn创建数组 8.使用numpy.random.randint创建数组 9.使用fromfunction创建数组 1.使用empty方法创建数组 该方式可以创建一个空数组,dtype可以指定随机数的类型,否则随机采用一种类型生成随机数. i

随机推荐