springboot获取数组类型的配置文件

获取配置数组类型的配置文件

配置文件如下:

socket.socketDTOList[0].kafkaTopic=A
socket.socketDTOList[0].socketPort=8001
socket.socketDTOList[1].kafkaTopic=B
socket.socketDTOList[1].socketPort=8002
socket.socketDTOList[2].kafkaTopic=C
socket.socketDTOList[2].socketPort=8003

要想获取配置文件,首先将配置文件对应的Java类放入容器,可以在启动类中写如下代码:

    @Bean
    @ConfigurationProperties(prefix = "socket")
    public SocketConfig socketConfig() {
        return new SocketConfig();
    }

实体类如下:

public class SocketConfig {
    private List<SocketDTO> socketDTOList;
}

实体类中包含一个对象list,对象结构如下:

public class SocketDTO {
    private String kafkaTopic;
    private int socketPort;
}

这样就可以获取到配置文件的值了,在任意地方注入配置实体类(本类中是SocketConfig),调用getter方法获取即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot的YAML配置文件中,我们可以使用数组格式来配置参数。 首先,我们需要在YAML文件中定义一个以"-"开头的键,后面跟着数组的值。例如: ``` myArray: - value1 - value2 - value3 ``` 上述配置中,myArray是一个数组参数,包含了三个值value1、value2和value3。 在我们的Spring Boot应用程序中,我们可以通过使用`@Value`注释来将这些数组值注入到我们的代码中。例如: ```java import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class MyComponent { @Value("${myArray}") private String[] myArray; // ... } ``` 在上述示例中,@Value注解用于将myArray配置参数注入到myArray字段中。此时,myArray字段将包含myArray配置参数的所有值。 另外,我们还可以使用Environment接口来获取数组参数的值。例如: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; @Component public class MyComponent { @Autowired private Environment env; public void doSomething() { String[] myArray = env.getProperty("myArray", String[].class); // ... } } ``` 在上述示例中,我们使用Environment的getProperty方法来获取myArray配置参数的值,并将其转换为String数组类型。 综上所述,我们可以通过使用数组格式的配置键来配置参数,并且可以使用@Value注解或Environment接口来将这些数组值注入到我们的代码中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值