欧美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來(lái)接收配置信息:

@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來(lái)接收屬性值;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之String.format()方法案例講解

    Java之String.format()方法案例講解

    這篇文章主要介紹了Java之String.format()方法案例講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SpringMVC中處理靜態(tài)資源的過程詳解

    SpringMVC中處理靜態(tài)資源的過程詳解

    本文給大家介紹SpringMVC中處理靜態(tài)資源的過程,結(jié)合示例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • spring?boot實(shí)現(xiàn)圖片上傳到后臺(tái)的功能(瀏覽器可直接訪問)

    spring?boot實(shí)現(xiàn)圖片上傳到后臺(tái)的功能(瀏覽器可直接訪問)

    這篇文章主要介紹了spring?boot實(shí)現(xiàn)圖片上傳到后臺(tái)的功能(瀏覽器可直接訪問),需要的朋友可以參考下
    2022-04-04
  • Java中的紙老虎之泛型

    Java中的紙老虎之泛型

    泛型在java中有很重要的地位,在面向?qū)ο缶幊碳案鞣N設(shè)計(jì)模式中有非常廣泛的應(yīng)用。對(duì)java的泛型特性的了解僅限于表面的淺淺一層,直到在學(xué)習(xí)設(shè)計(jì)模式時(shí)發(fā)現(xiàn)有不了解的用法,才想起詳細(xì)的記錄一下。
    2021-09-09
  • springboot項(xiàng)目實(shí)現(xiàn)配置跨域

    springboot項(xiàng)目實(shí)現(xiàn)配置跨域

    這篇文章主要介紹了springboot項(xiàng)目實(shí)現(xiàn)配置跨域問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Java中的Kafka攔截器詳解

    Java中的Kafka攔截器詳解

    這篇文章主要介紹了Java中的Kafka攔截器詳解,Producer?攔截器(interceptor)是在?Kafka?0.10?版本被引入的,主要用于實(shí)現(xiàn)?clients?端的定制化控制邏輯,需要的朋友可以參考下
    2023-11-11
  • Java面試之線程通訊方式詳解

    Java面試之線程通訊方式詳解

    線程通信是指多個(gè)線程之間通過某種機(jī)制進(jìn)行協(xié)調(diào)和交互,那為什么一個(gè)線程等待和通知機(jī)制就需要這么多的實(shí)現(xiàn)方式呢?別著急,下面小編來(lái)和大家仔細(xì)聊聊
    2023-08-08
  • java中實(shí)現(xiàn)excel合并單元格詳細(xì)代碼實(shí)例

    java中實(shí)現(xiàn)excel合并單元格詳細(xì)代碼實(shí)例

    最近的工作中,遇到一個(gè)需求在生成的Excel表格后需要在尾部添加一個(gè)合并的單元格數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于java中實(shí)現(xiàn)excel合并單元格的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • 安卓系統(tǒng)中實(shí)現(xiàn)搖一搖畫面振動(dòng)效果的方法

    安卓系統(tǒng)中實(shí)現(xiàn)搖一搖畫面振動(dòng)效果的方法

    這篇文章主要介紹了安卓系統(tǒng)中實(shí)現(xiàn)搖一搖畫面振動(dòng)效果的方法,調(diào)用Android SDK中的SensorEventListener接口,需要的朋友可以參考下
    2015-07-07
  • SpringBoot整合Aop全過程

    SpringBoot整合Aop全過程

    AOP(面向切面編程)技術(shù)可以高效地解決日志記錄、事務(wù)管理、權(quán)限控制等問題,日志記錄通過自定義注解和切面類,自動(dòng)記錄方法調(diào)用詳情,減少重復(fù)代碼,事務(wù)管理方面,通過AOP可以在不改變業(yè)務(wù)代碼的情況下,實(shí)現(xiàn)事務(wù)的自動(dòng)開啟、提交和回滾,保證數(shù)據(jù)一致性
    2024-10-10

最新評(píng)論