SpringBoot中properties和yaml如何注入一个集合

  • 发布时间:2023-09-19 22:14:03
  • 本文热度:浏览 853 赞 0 评论 0
  • 全文共1字,阅读约需1分钟

1. SpringBoot中properties和yaml如何注入一个java集合?

1.1 引言

在开发过程中,我们常常需要将配置值注入到代码中。SpringBoot提供了多种方式来实现配置的注入,其中包括使用.properties文件和使用.yaml文件。本篇博客将介绍如何使用.properties和.yaml文件来注入一个Java集合,且集合中包含对象或者基本类型的情况。

1.2 配置文件

首先,我们需要准备一个配置文件,用于存储集合的值。根据需要选择使用.properties文件或者.yaml文件。

在.properties文件中,我们可以使用以下格式来定义集合的值:

my.list[0]=value1
my.list[1]=value2
my.list[2]=value3

在.yaml文件中,我们可以使用以下格式来定义集合的值:

my:
  list:
    - value1
    - value2
    - value3

1.3 注入集合

1.3.1 使用@Value注解

我们可以使用@Value注解来将配置文件中的集合值注入到Java集合中。首先,我们需要在SpringBoot应用的配置类中添加@Component注解,以将该类纳入Spring容器的管理。

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class MyConfig {
    
    @Value("${my.list}")
    private List<String> myList;
    
    // Getter and Setter
}

在上述代码中,我们通过@Value注解将配置文件中的my.list值注入到了myList属性中。这样,就可以在应用中使用myList属性来访问配置文件中的集合值了。

1.3.2 使用@ConfigurationProperties注解

除了使用@Value注解外,我们还可以使用@ConfigurationProperties注解来注入集合的值。首先,我们需要在SpringBoot应用的配置类中添加@Component和@ConfigurationProperties注解,以便将该类纳入Spring容器的管理,并指定配置文件的前缀。

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
@ConfigurationProperties(prefix = "my")
public class MyConfig {
    
    private List<String> list;
    
    // Getter and Setter
}

在上述代码中,我们通过@ConfigurationProperties注解和配置文件的前缀"my"将配置文件中的值注入到了list属性中。这样,就可以在应用中使用list属性来访问配置文件中的集合值了。

1.4 总结

我们了解了如何使用.properties和.yaml文件来注入一个Java集合,且集合中包含对象或者基本类型的情况。我们介绍了两种常见的注入方式:使用@Value注解和使用@ConfigurationProperties注解。

正文到此结束
评论插件初始化中...
Loading...