spring boot @ConfigurationProperties注入list

本文介绍了如何在Spring Boot中使用@ConfigurationProperties注解从yaml配置文件中注入List<Map<String, String>>。通过设置setter或初始化列表,结合官方文档和测试,解析了注入过程的核心步骤,包括调用get方法、添加元素等。" 121473397,8403556,YoloX在Windows上的TensorRT实时摄像头加速实践,"['深度学习', '计算机视觉', 'TensorRT', 'C++', '物体检测']
部署运行你感兴趣的模型镜像

背景

业务需求是要读取yaml文件配置,注入到List<Map<String, String>>中,查了一下官方文档

To bind to properties like that by using Spring Boot’s Binder utilities (which is what @ConfigurationProperties does), you need to have a property in the target bean of type java.util.List (or Set) and you either need to provide a setter or initialize it with a mutable value. For example, the following example binds to the properties shown previously:

机翻如下

要使用Spring Boot的Binder实用程序绑定属性(@ConfigurationProperties确实如此),您需要在类型为java.util.List(或Set)的目标bean中具有一个属性,并且需要提供setter或使用可变值对其进行初始化。例如,以下示例绑定到前面显示的属性:

官方代码

my:
servers:
	- dev.example.com
	- another.example.com
@ConfigurationProperties(prefix="my")
public class Config {

	private List<String> servers = new ArrayList<String>();

	public List<String> getServers() {
		return this.servers;
	}
}

分析

打断点测试了一下,发现list注入步骤大致如下:

  1. 调用get方法获取list
  2. list.add

核心步骤

  1. 类名上加@ConfigurationProperties
  2. list得初始化
  3. list有get方法

拓展 注入list<Map<String,String>>

yaml

robot:
- name: robot1
  token: token1
- name: robot2
  token: token2
private List<Map<String, String>> robot = new ArrayList<>();

 public List<Map<String, String>> getRobot() {
        return robot;
    }

您可能感兴趣的与本文相关的镜像

TensorRT-v8.6

TensorRT-v8.6

TensorRT

TensorRT 是NVIDIA 推出的用于深度学习推理加速的高性能推理引擎。它可以将深度学习模型优化并部署到NVIDIA GPU 上,实现低延迟、高吞吐量的推理过程。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值