SpringBoot yaml中的数组类型取值方式
作者:五洋捉鳖zz 发布时间:2022-10-14 20:05:36
标签:SpringBoot,yaml,数组,取值
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')一致,不然就会取不到数据。
来源:https://www.jianshu.com/p/20a11d185493


猜你喜欢
- package TOOLS;import java.io.BufferedReader;import java.io.File;import
- 单例模式算是设计模式中最容易理解,也是最容易手写代码的模式,但是其中涉及的知识点却一点也不少,所以经常作为面试题来考。一般单例都是五种写法:
- 步骤:1、创建一个项目,该项目主要用来设计用户控件。2、创建一个用户控件窗体,用来设计用户控件。3、向用户控件窗体中添加一个按钮(butto
- android开发中有时候碰到切换语言的需求,这时候需要通过代码动态改变当前运行语言。package com.example.android
- 升级到grails 2.3.2之后,运行时报如下的异常:Exception in thread "main"Error
- 一、单链表(Linked List)简介二、单链表的各种操作1.单链表的创建和遍历2.单链表的按顺序插入节点 以及节点的修改3.单链表节点的
- 主要使用的类:java.text.DecimalFormat1。实例化对象,可以用如下两种方法:DecimalFormat df=(Deci
- 前言最近在学习Kotlin这门语言,在项目开发中,运用到了单例模式。因为其表达方式与Java是不同的。所以对不同单例模式的实现进行了分别探讨
- android 点击EditText始终不弹出软件键盘场景描述:正常情况下,当点击EditText时,软键盘会弹出来。现在的要求
- 1. 概述官方JavaDocsApi: javax.swing.JProgressBar JProgressBar,进度条。以可视化形式显示
- C# 操作符之三元操作符“?:”是什么呢?C# 操作符之三元操作符“?:”有时也称为条件操作符。对条件表达式b?x:y,先计算条件b,然后进
- SWT中没有AWT的BorderLayout布局管理器。下面是SWT下的自定义实现: BorderLayout.java package s
- C#中的表格控件只有一个,那就是datagridview,不像QT中可以用QTableview,QTableWidget。新手拿到datag
- 前些日子有一个项目需要从word文件中取表格数据并进行处理,网上大部分方案都是基于office的com组件实现,但是这样有一个缺点,如果电脑
- 本文实例讲述了Spring计划任务用法。分享给大家供大家参考,具体如下:一 点睛从Spring3.1开始,计划任务在Spring中的实现变得
- 在C#绘制中国象棋棋盘是C#程序设计中GDI+的一个重要组成部分。这也是非常考验编程技巧的操作。在绘制之前首先要对棋盘有一个完整的认识。下面
- 本文实例讲述了Java实现插入排序的方法。分享给大家供大家参考。具体实现方法如下:import java.util.Arrays; /**
- 这篇文章主要介绍了SpringCloud断路器Hystrix原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参
- 背景在开发中,如果用try catch的方式,每个方法都需要单独实现,为了方便分类异常,返回给前端,采用了@ControllerAdvice
- AspectJ 是通过注解来描述切点与增强的。1 开发环境要求因为要使用注解,所以请确保使用的 Java5.0 及以上版本。引入 Aspec