最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring?Boot如何配置yml配置文件定義集合、數(shù)組和Map

 更新時間:2023年10月28日 14:32:41   作者:給自己一個?smile  
這篇文章主要介紹了Spring?Boot?優(yōu)雅配置yml配置文件定義集合、數(shù)組和Map,包括Spring?Boot?yml配置文件定義基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的方式,需要的朋友可以參考下

一、@value 獲取配置文件

在平時的yml配置文件中,我們經(jīng)常使用到配置基本數(shù)據(jù)類型的字符串,比如配置日志文件的寫法如下:

# 配置日志輸出級別
logging:
  # 指定logback配置文件的位置 
  config: classpath:logback-spring.xml
  # 文件日志要輸出的路徑
  path: E:/logs/springboot_server
  # 日志的輸出級別
  level:
    root: info

獲取屬性值的話可以通過@value 注解來實現(xiàn),如下:

@Value("${logging.path}")
private String path;    // 獲取日志文件的輸出路徑

二、 List集合獲取配置文件

第一種方法

# 攔截器路徑攔截或者不攔截配置
interceptorconfig:
  path:
    #該路徑下任何類型請求均攔截
    include:
      - /api/v1/token/api_token
      - /api/v1/yibaotong/save

第二種方法

# 攔截器路徑攔截或者不攔截配置
interceptorconfig:
  path:
    #該路徑下任何類型請求均攔截
    include: [/api/v1/token/api_token,/api/v1/yibaotong/save]

總結(jié)

這里需要注意的是,定義List集合不能用@value 注解來獲取List集合的所有值,需要定義一個配置類bean,然后使用 @ConfigurationProperties 注解來獲取list集合值,做法如下:

@Data
@Component
@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置文件的前綴
public class InterceptorPathBean
{
    /*
     * 需要攔截的路徑
     */
    private List<String> include;
}

三、定義對象list集合獲取配置文件

單個對象List

首先創(chuàng)建一個user對象如下:

@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注解獲取對象集合值:

@Data
@Component
@ConfigurationProperties(prefix = "jwt") // 配置 文件的前綴
public class JwtConfigBean
{
    /**
     * 用戶列表
     */
    private List<User> userlist;
}

List對象中包含List

定義配置bean使用@ConfigurationProperties注解獲取對象集合值:

@Data
@Component
@ConfigurationProperties(prefix = "jwt") // 配置 文件的前綴
public class JwtConfigBean {
    /**
     * 用戶列表
     */
    private List<UserTest> userList;
    @Data
    private static class UserTest {
        private String appId;
        private List<String> passwordList;
    }
}

yml 文件配置

jwt:
  userList:
    - appId: '121212'
      passwordList: '活動時間流程節(jié)點-PromoTimeValidNode,活動時間流程節(jié)點-PromoTimeValidNode2'
    - appId: 'werw3313'
      passwordList: '活動時間流程節(jié)點-PromoTimeValidNode,活動時間流程節(jié)點-PromoTimeValidNode2'

四、數(shù)組獲取配置文件

yaml 格式如下:

interceptorconfig:
  path:
    includes: /api/v1,/api/v2  #注意要用逗號分隔開

可以通過@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;
}
@Data
@Component
@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置 文件的前綴
public class InterceptorPathBean
{  
    private String[] includes;
}

五、定義Map集合配置文件

yaml 格式如下:

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;
}

以上就是Spring Boot yml配置文件定義基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的方式;

六、參考鏈接

spring boot 的yml配置文件定義list集合、數(shù)組和map以及使用中出現(xiàn)的錯誤

到此這篇關(guān)于Spring Boot 優(yōu)雅配置yml配置文件定義集合、數(shù)組和Map的文章就介紹到這了,更多相關(guān)Spring Boot 配置yml配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java 中使用數(shù)組存儲和操作數(shù)據(jù)

    Java 中使用數(shù)組存儲和操作數(shù)據(jù)

    本文將介紹Java中常用的數(shù)組操作方法,通過詳細(xì)的示例和解釋,幫助讀者全面理解和掌握這些方法,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 解決使用IDEA時跳轉(zhuǎn)到.class的問題

    解決使用IDEA時跳轉(zhuǎn)到.class的問題

    這篇文章主要介紹了解決使用IDEA時跳轉(zhuǎn)到.class的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot2.0+阿里巴巴Sentinel動態(tài)限流實戰(zhàn)(附源碼)

    SpringBoot2.0+阿里巴巴Sentinel動態(tài)限流實戰(zhàn)(附源碼)

    這篇文章主要介紹了SpringBoot2.0+阿里巴巴Sentinel動態(tài)限流實戰(zhàn)(附源碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 基于SpringBoot整合oauth2實現(xiàn)token認(rèn)證

    基于SpringBoot整合oauth2實現(xiàn)token認(rèn)證

    這篇文章主要介紹了基于SpringBoot整合oauth2實現(xiàn)token 認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • 詳解JavaWeb中的 Listener

    詳解JavaWeb中的 Listener

    JavaWeb里面的listener是通過觀察者設(shè)計模式進行實現(xiàn)的。下面通過本文給大家詳細(xì)介紹javaweb中的listener,感興趣的朋友一起看看吧
    2016-09-09
  • jvm分析工具/適用場景/最佳實踐過程

    jvm分析工具/適用場景/最佳實踐過程

    本文系統(tǒng)介紹JVM分析工具的分類與適用場景,涵蓋CPU監(jiān)控、內(nèi)存泄漏分析、FullGC排查、線程死鎖檢測及方法級性能優(yōu)化,提供工具選擇、最佳實踐和避坑指南,助力高效解決Java應(yīng)用性能與穩(wěn)定性問題
    2025-07-07
  • Java如何處理延遲任務(wù)過程解析

    Java如何處理延遲任務(wù)過程解析

    這篇文章主要介紹了Java如何處理延遲任務(wù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • MyBatisPlus分頁插件IPage用法實現(xiàn)

    MyBatisPlus分頁插件IPage用法實現(xiàn)

    本文主要介紹了MyBatisPlus分頁插件IPage用法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-06-06
  • Java中@ConfigurationProperties實現(xiàn)自定義配置綁定問題分析

    Java中@ConfigurationProperties實現(xiàn)自定義配置綁定問題分析

    這篇文章主要介紹了@ConfigurationProperties實現(xiàn)自定義配置綁定問題,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • IDEA未配置SQL方言:無法使用SQL提示解決方法

    IDEA未配置SQL方言:無法使用SQL提示解決方法

    在使用IDEA進行SQL開發(fā)時,如果未配置SQL方言可能會導(dǎo)致一些問題,如無法正確識別數(shù)據(jù)庫中的關(guān)鍵字、數(shù)據(jù)類型等,這篇文章主要給大家介紹了關(guān)于IDEA未配置SQL方言,無法使用SQL提示解決方法的相關(guān)資料,需要的朋友可以參考下
    2024-07-07

最新評論

闵行区| 长泰县| 汉源县| 盈江县| 济源市| 昌都县| 花垣县| 营口市| 高平市| 汉阴县| 寻甸| 沙河市| 庆阳市| 镇康县| 汕尾市| 长乐市| 东宁县| 电白县| 高州市| 同德县| 上蔡县| 靖边县| 资溪县| 河北省| 金华市| 阆中市| 若羌县| 三门县| 阜宁县| 庆云县| 彭泽县| 岳阳县| 汕尾市| 中牟县| 菏泽市| 漳州市| 高唐县| 定襄县| 屏山县| 修武县| 固阳县|