Java: SpringBoot配置文件读取-数组

简介: Java: SpringBoot配置文件读取-数组

方式一:读取使用逗号分隔的数组

application.yml

user:
  # 逗号分隔
  countries: China, American, Germany

直接使用@Value 读取配置信息

@Value("${user.countries}")
private String[] countryArray;

方式二:读取yaml的数组

application.yml

user:
  # 数组
  languages:
    - zh
    - en
    - de

使用配置类读取配置信息

LanguageConfig.java

package com.example.demo.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
@ConfigurationProperties(prefix = "user")
public class LanguageConfig {
    private List<String> languages;
    public List<String> getLanguages() {
        return languages;
    }
    public void setLanguages(List<String> languages) {
        this.languages = languages;
    }
}

使用自动注入配置类

@Autowired
private LanguageConfig languageConfig;

完整使用示例

package com.example.demo;
import com.example.demo.config.LanguageConfig;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.stream.Stream;
@SpringBootTest
class ApplicationTests {
    @Autowired
    private LanguageConfig languageConfig;
    @Value("${user.countries}")
    private String[] countryArray;
    @Test
    void testLanguageConfig() {
        System.out.println(languageConfig.getLanguages());
        //  [zh, en, de]
        Stream.of(countryArray).forEach(System.out::println);
        // China
        // American
        // Germany
    }
}

参考

Spring Boot 配置(五)数组


相关文章
|
1天前
|
存储 算法 搜索推荐
滚雪球学Java(27):从零开始学习数组:定义和初始化
【5月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
7 3
|
2天前
|
移动开发 前端开发 NoSQL
ruoyi-nbcio从spring2.7.18升级springboot到3.1.7,java从java8升级到17(二)
ruoyi-nbcio从spring2.7.18升级springboot到3.1.7,java从java8升级到17(二)
12 0
|
4天前
|
Java 索引
Java中数组详解
Java中数组详解
44 19
|
4天前
|
Java
解析java中的数组
解析java中的数组
10 3
|
4天前
|
IDE Java 应用服务中间件
JDK1.6.0+Tomcat6.0的安装配置(配置JAVA环境)
JDK1.6.0+Tomcat6.0的安装配置(配置JAVA环境)
15 1
|
4天前
|
前端开发 Java 关系型数据库
Java医院绩效考核系统源码B/S架构+springboot三级公立医院绩效考核系统源码 医院综合绩效核算系统源码
作为医院用综合绩效核算系统,系统需要和his系统进行对接,按照设定周期,从his系统获取医院科室和医生、护士、其他人员工作量,对没有录入信息化系统的工作量,绩效考核系统设有手工录入功能(可以批量导入),对获取的数据系统按照设定的公式进行汇算,且设置审核机制,可以退回修正,系统功能强大,完全模拟医院实际绩效核算过程,且每步核算都可以进行调整和参数设置,能适应医院多种绩效核算方式。
23 2
|
5天前
|
存储 安全 Java
Java一分钟之-数组的创建与遍历
【5月更文挑战第8天】本文介绍了Java中数组的基本概念、创建与遍历方法,强调了类型匹配和数组越界问题。示例展示了如何创建整数数组并初始化元素,同时提供了避免数组越界的策略。对于遍历,文章提到了for循环和增强型for循环,并给出了防止错误的建议,如正确声明类型、初始化数组、安全索引操作及使用合适的数据结构。遵循这些指导可帮助开发者有效管理Java数组并减少错误。
17 0
|
6天前
|
Java
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
springboot项目出现Exception in thread “main“ java.lang.NoClassDefFoundError: javax/servlet/Filter
12 0
|
6天前
|
传感器 人工智能 前端开发
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
智慧校园电子班牌,坐落于班级的门口,适合于各类型学校的场景应用,班级学校日常内容更新可由班级自行管理,也可由学校统一管理。让我们一起看看,电子班牌有哪些功能呢?
47 4
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
|
9天前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。