springboot yml配置文件定義list集合、數(shù)組和map以及使用中的錯(cuò)誤
1. 在平時(shí)的yml配置文件中
我們經(jīng)常使用到配置基本數(shù)據(jù)類型的字符串,比如配置日志文件的寫法如下:
# 配置日志輸出級(jí)別
logging:
# 指定logback配置文件的位置
config: classpath:logback-spring.xml
# 文件日志要輸出的路徑
path: E:/logs/springboot_server
# 日志的輸出級(jí)別
level:
root: info獲取屬性值的話可以通過@value 注解來實(shí)現(xiàn),如下:
@Value("${logging.path}")
private String path; // 獲取日志文件的輸出路徑2. 下面說一下
如何在yml配置文件中定義list集合、對(duì)象集合、數(shù)組以及map集合等
2.1定義list集合
# 攔截器路徑攔截或者不攔截配置
interceptorconfig:
path:
#該路徑下任何類型請(qǐng)求均攔截
include:
- /api/v1/token/api_token
- /api/v1/yibaotong/save或者寫成
# 攔截器路徑攔截或者不攔截配置
interceptorconfig:
path:
#該路徑下任何類型請(qǐng)求均攔截
include: [/api/v1/token/api_token,/api/v1/yibaotong/save]這里需要注意的是,定義list集合不能用@value注解來獲取list集合的所有值,需要定義一個(gè)配置類bean,然后使用
@ConfigurationProperties注解來獲取list集合值,
做法如下:
@Data
@Component
@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置文件的前綴
public class InterceptorPathBean
{
/*
* 需要攔截的路徑
*/
private List<String> include;
}如果使用@value注解會(huì)報(bào)錯(cuò);
2.2 定義對(duì)象list集合
首先創(chuàng)建一個(gè)user對(duì)象如下:
@Data
public class User implements Serializable
{
private static final long serialVersionUID = 1L;
private String appId;
private String password;
}然后yml配置文件的寫法如下:
jwt:
userlist:
- appId: YiBaoTong
password: 123456
- appId: ZhiKe
password: 123456定義配置bean使用@ConfigurationProperties注解獲取對(duì)象集合值:
@Data
@Component
@ConfigurationProperties(prefix = "jwt") // 配置 文件的前綴
public class JwtConfigBean
{
/**
* 用戶列表
*/
private List<User> userlist;
}2.3 定義數(shù)組
格式如下:
interceptorconfig:
path:
includes: /api/v1,/api/v2 #注意要用逗號(hào)分隔開可以通過@value注解獲取數(shù)組值,如下:
@Value("${interceptorconfig.path.includes}")
private String[] includes;也可以通過創(chuàng)建配置類bean,使用@ConfigurationProperties注解獲取,如下:
@Data
@Component
@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置 文件的前綴
public class InterceptorPathBean
{
private String[] includes;
}2.4 定義map集合
如下:
interceptorconfig:
path:
maps: {name: 小明,age: 24}或者寫成:
interceptorconfig:
path:
maps:
name: 小明
age: 24通過創(chuàng)建配置類bean,使用@ConfigurationProperties注解獲取map值,如下:
@Data
@Component
@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置 文件的前綴
public class InterceptorPathBean
{
private Map<String , String> maps;
}總結(jié)
以上就是spring boot yml配置文件定義基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的方式。
這些僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java?-jar啟動(dòng)參數(shù)設(shè)置file.encoding編碼,解決中文亂碼的問題
這篇文章主要介紹了java?-jar啟動(dòng)參數(shù)設(shè)置file.encoding編碼,解決中文亂碼的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
SpringBoot集成單點(diǎn)登錄CAS的方法實(shí)現(xiàn)
本文主要介紹了SpringBoot集成單點(diǎn)登錄CAS的方法實(shí)現(xiàn),包括CAS的基本概念、集成步驟、具體代碼示例等,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03
SpringMvc接收參數(shù)方法總結(jié)(必看篇)
下面小編就為大家?guī)硪黄猄pringMvc接收參數(shù)方法總結(jié)(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
Dify調(diào)用Java的三種實(shí)現(xiàn)方式
在一些復(fù)雜的業(yè)務(wù)中,我們可能需要使用?Dify?調(diào)用外部程序(如?Java?程序),因?yàn)檫@樣才能滿足業(yè)務(wù)的特殊需求,那么問題來了,使用?Dify?調(diào)用?Java?程序的實(shí)現(xiàn)方式有哪些呢?今天我們就來盤點(diǎn)一下,需要的朋友可以參考下2025-06-06
SpringValidation自定義注解及分組校驗(yàn)功能詳解
這篇文章主要介紹了SpringValidation自定義注解及分組校驗(yàn)功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01
詳解XML,Object,Json轉(zhuǎn)換與Xstream的使用
這篇文章主要介紹了詳解XML,Object,Json轉(zhuǎn)換與Xstream的使用的相關(guān)資料,需要的朋友可以參考下2017-02-02
springboot打成jar后獲取classpath下文件失敗的解決方案
這篇文章主要介紹了使用springboot打成jar后獲取classpath下文件失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
關(guān)于intellij idea打開就閃退或關(guān)閉詳細(xì)解決辦法
這篇文章主要介紹了關(guān)于intellij idea打開就閃退或關(guān)閉詳細(xì)解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03

