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

springboot如何讀取配置文件(application.yml)中的屬性值

 更新時(shí)間:2017年04月13日 09:58:00   作者:Clement-Xu  
本篇文章主要介紹了springboot如何讀取配置文件(application.yml)中的屬性值,具有一定的參考價(jià)值,有興趣的小伙伴可以了解一下

在spring boot中,簡(jiǎn)單幾步,讀取配置文件(application.yml)中各種不同類型的屬性值:

1、引入依賴:

<!-- 支持 @ConfigurationProperties 注解 --> 
<dependency> 
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-configuration-processor</artifactId> 
  <optional>true</optional> 
</dependency> 

2、配置文件(application.yml)中配置各個(gè)屬性的值:

myProps: #自定義的屬性和值 
 simpleProp: simplePropValue 
 arrayProps: 1,2,3,4,5 
 listProp1: 
  - name: abc 
   value: abcValue 
  - name: efg 
   value: efgValue 
 listProp2: 
  - config2Value1 
  - config2Vavlue2 
 mapProps: 
  key1: value1 
  key2: value2 

3、創(chuàng)建一個(gè)bean來接收配置信息:

@Component 
@ConfigurationProperties(prefix="myProps") //接收application.yml中的myProps下面的屬性 
public class MyProps { 
  private String simpleProp; 
  private String[] arrayProps; 
  private List<Map<String, String>> listProp1 = new ArrayList<>(); //接收prop1里面的屬性值 
  private List<String> listProp2 = new ArrayList<>(); //接收prop2里面的屬性值 
  private Map<String, String> mapProps = new HashMap<>(); //接收prop1里面的屬性值 
   
  public String getSimpleProp() { 
    return simpleProp; 
  } 
   
  //String類型的一定需要setter來接收屬性值;maps, collections, 和 arrays 不需要 
  public void setSimpleProp(String simpleProp) { 
    this.simpleProp = simpleProp; 
  } 
   
  public List<Map<String, String>> getListProp1() { 
    return listProp1; 
  } 
  public List<String> getListProp2() { 
    return listProp2; 
  } 
 
  public String[] getArrayProps() { 
    return arrayProps; 
  } 
 
  public void setArrayProps(String[] arrayProps) { 
    this.arrayProps = arrayProps; 
  } 
 
  public Map<String, String> getMapProps() { 
    return mapProps; 
  } 
 
  public void setMapProps(Map<String, String> mapProps) { 
    this.mapProps = mapProps; 
  } 
} 

啟動(dòng)后,這個(gè)bean里面的屬性就會(huì)自動(dòng)接收配置的值了。

4、單元測(cè)試用例:

@Autowired 
  private MyProps myProps;  
   
  @Test 
  public void propsTest() throws JsonProcessingException { 
    System.out.println("simpleProp: " + myProps.getSimpleProp()); 
    System.out.println("arrayProps: " + objectMapper.writeValueAsString(myProps.getArrayProps())); 
    System.out.println("listProp1: " + objectMapper.writeValueAsString(myProps.getListProp1())); 
    System.out.println("listProp2: " + objectMapper.writeValueAsString(myProps.getListProp2())); 
    System.out.println("mapProps: " + objectMapper.writeValueAsString(myProps.getMapProps())); 
  } 

測(cè)試結(jié)果:

simpleProp: simplePropValue 
arrayProps: ["1","2","3","4","5"] 
listProp1: [{"name":"abc","value":"abcValue"},{"name":"efg","value":"efgValue"}] 
listProp2: ["config2Value1","config2Vavlue2"] 
mapProps: {"key1":"value1","key2":"value2"} 

源代碼參考:https://github.com/xujijun/my-spring-boot

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Java中方法參數(shù)傳遞的問題

    淺談Java中方法參數(shù)傳遞的問題

    下面小編就為大家?guī)硪黄獪\談Java中方法參數(shù)傳遞的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • SpringBoot使用@Cacheable時(shí)設(shè)置部分緩存的過期時(shí)間方式

    SpringBoot使用@Cacheable時(shí)設(shè)置部分緩存的過期時(shí)間方式

    這篇文章主要介紹了SpringBoot使用@Cacheable時(shí)設(shè)置部分緩存的過期時(shí)間方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java集合之CopyOnWriteArrayList詳解

    Java集合之CopyOnWriteArrayList詳解

    這篇文章主要介紹了Java集合之CopyOnWriteArrayList詳解,CopyOnWriteArrayList是ArrayList的線程安全版本,內(nèi)部也是通過數(shù)組實(shí)現(xiàn),每次對(duì)數(shù)組的修改都完全拷貝一份新的數(shù)組來修改,修改完了再替換掉老數(shù)組,這樣保證了只阻塞寫操作,需要的朋友可以參考下
    2023-12-12
  • java中g(shù)et()方法和set()方法的作用淺析

    java中g(shù)et()方法和set()方法的作用淺析

    這篇文章主要給大家介紹了關(guān)于java中g(shù)et()方法和set()方法的作用,set是是對(duì)數(shù)據(jù)進(jìn)行設(shè)置,而get是對(duì)數(shù)據(jù)進(jìn)行獲取,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Java面試題沖刺第五天--基礎(chǔ)篇2

    Java面試題沖刺第五天--基礎(chǔ)篇2

    這篇文章主要為大家分享了最有價(jià)值的三道java面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-07-07
  • springboot中的RestTemplate使用詳解

    springboot中的RestTemplate使用詳解

    這篇文章主要介紹了springboot中的RestTemplate使用詳解,RestTemplate繼承自InterceptingHttpAccessor并且實(shí)現(xiàn)了RestOperations接口,其中RestOperations接口定義了基本的RESTful操作,這些操作在RestTemplate中都得到了實(shí)現(xiàn),需要的朋友可以參考下
    2023-09-09
  • 專屬于程序員的浪漫-Java輸出動(dòng)態(tài)閃圖iloveyou

    專屬于程序員的浪漫-Java輸出動(dòng)態(tài)閃圖iloveyou

    這篇文章主要介紹了專屬于程序員的浪漫-Java輸出動(dòng)態(tài)閃圖iloveyou,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 如何解決springboot啟動(dòng)的時(shí)候required a bean of type 'XXX' not be問題

    如何解決springboot啟動(dòng)的時(shí)候required a bean of ty

    Spring Boot啟動(dòng)失敗,提示缺少`UserDao`類型的Bean,解決方案一:為`UserDao`接口添加`@Mapper`注解,重新啟動(dòng);解決方案二:使用`@MapperScan`注解掃描Mapper接口所在的包
    2024-12-12
  • SpringBoot實(shí)現(xiàn)網(wǎng)頁消息推送的5種方法小結(jié)

    SpringBoot實(shí)現(xiàn)網(wǎng)頁消息推送的5種方法小結(jié)

    項(xiàng)目開發(fā)中,實(shí)時(shí)消息推送已成為提升用戶體驗(yàn)的關(guān)鍵技術(shù),本文將詳細(xì)介紹SpringBoot中實(shí)現(xiàn)網(wǎng)頁消息推送的幾種主流方案,希望對(duì)大家有所幫助
    2025-03-03
  • Maven中jar包下載失敗的幾種解決方法

    Maven中jar包下載失敗的幾種解決方法

    本文主要介紹了Maven中jar包下載失敗的幾種解決方法,包括配置國內(nèi)Maven源、刪除本地jar包目錄重新下載,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02

最新評(píng)論