欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、@value 獲取配置文件

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

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

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

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

二、 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]

總結(jié)

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

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

三、定義對(duì)象list集合獲取配置文件

單個(gè)對(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;
}

List對(duì)象中包含List

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

@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: '活動(dòng)時(shí)間流程節(jié)點(diǎn)-PromoTimeValidNode,活動(dòng)時(shí)間流程節(jié)點(diǎn)-PromoTimeValidNode2'
    - appId: 'werw3313'
      passwordList: '活動(dòng)時(shí)間流程節(jié)點(diǎn)-PromoTimeValidNode,活動(dòng)時(shí)間流程節(jié)點(diǎn)-PromoTimeValidNode2'

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

yaml 格式如下:

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;
}
@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)的錯(cuò)誤

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

相關(guān)文章

  • Java結(jié)構(gòu)型模式中的組合模式詳解

    Java結(jié)構(gòu)型模式中的組合模式詳解

    組合模式,又叫部分整體模式,它創(chuàng)建了對(duì)象組的數(shù)據(jù)結(jié)構(gòu)組合模式使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的訪問具有一致性。本文將通過示例為大家詳細(xì)介紹一下組合模式,需要的可以參考一下
    2023-02-02
  • SpringBoot如何配置獲取request中body的json格式參數(shù)

    SpringBoot如何配置獲取request中body的json格式參數(shù)

    這篇文章主要介紹了SpringBoot如何配置獲取request中body的json格式參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java反射機(jī)制及beanUtils的實(shí)現(xiàn)原理分析

    java反射機(jī)制及beanUtils的實(shí)現(xiàn)原理分析

    本文介紹了Java的反射機(jī)制、VO、DTO、PO的概念以及BeanUtils的實(shí)現(xiàn)原理和簡(jiǎn)單示例,通過反射可以在運(yùn)行時(shí)動(dòng)態(tài)操作類、方法和字段,BeanUtils用于在不同bean之間進(jìn)行屬性復(fù)制
    2024-12-12
  • 字節(jié)二面SpringBoot可以同時(shí)處理多少請(qǐng)求

    字節(jié)二面SpringBoot可以同時(shí)處理多少請(qǐng)求

    這篇文章主要為大家介紹了字節(jié)二面之SpringBoot可以同時(shí)處理多少請(qǐng)求面試分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • SpringBoot整合MyBatis和MyBatis-Plus請(qǐng)求后不打印sql日志的問題解決

    SpringBoot整合MyBatis和MyBatis-Plus請(qǐng)求后不打印sql日志的問題解決

    本文主要介紹了SpringBoot整合MyBatis和MyBatis-Plus請(qǐng)求后不打印sql日志的問題解決文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Java Mybatis框架Dao層的實(shí)現(xiàn)與映射文件以及核心配置文件詳解分析

    Java Mybatis框架Dao層的實(shí)現(xiàn)與映射文件以及核心配置文件詳解分析

    MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過簡(jiǎn)單的 XML 或注解來(lái)配置和映射原始類型、接口和 Java POJO為數(shù)據(jù)庫(kù)中的記錄
    2021-10-10
  • Quarkus中RESTEasy?Reactive集成合并master分支

    Quarkus中RESTEasy?Reactive集成合并master分支

    這篇文章主要為大家介紹了Quarkus中RESTEasy?Reactive集成合并master分支的詳細(xì)作用分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • String split方法實(shí)現(xiàn)過程圖解

    String split方法實(shí)現(xiàn)過程圖解

    這篇文章主要介紹了String split方法實(shí)現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Mybatis配置返回為修改影響條數(shù)方式

    Mybatis配置返回為修改影響條數(shù)方式

    這篇文章主要介紹了Mybatis配置返回為修改影響條數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java設(shè)計(jì)模式之單例模式簡(jiǎn)析

    Java設(shè)計(jì)模式之單例模式簡(jiǎn)析

    這篇文章主要介紹了Java設(shè)計(jì)模式之單例模式簡(jiǎn)析,單例模式是常用的設(shè)計(jì)模式,在我們的系統(tǒng)乃至在框架中都普遍被用到,單例模式就是使一個(gè)類有且只有一個(gè)實(shí)例用于外部訪問,這樣大大的節(jié)省了系統(tǒng)的資源,需要的朋友可以參考下
    2023-12-12

最新評(píng)論