亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

@ConfigurationProperties綁定配置信息至Array、List、Map、Bean的實現(xiàn)

 更新時間:2020年05月27日 09:15:15   作者:justry_deng  
這篇文章主要介紹了@ConfigurationProperties綁定配置信息至Array、List、Map、Bean的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

相關(guān)說明:

在SpringBoot中,我們可以通過以下幾種方式獲取并綁定配置文件中的信息:

  1. @Value注解。
  2. 使用Environment。
  3. @ConfigurationProperties注解。
  4. 通過實現(xiàn)ApplicationListener接口,注冊監(jiān)聽器,進行硬編碼獲取,可參考:http://chabaoo.cn/article/187407.htm
  5. 硬編碼加載文件獲取。
  6. ……

注:一般情況下,第一種、第二種就夠用了;但是如果想直接從配置文件中獲取到數(shù)組、list、map、對象的話,
第一種和第二種的支持性不太好,目前只能獲取到數(shù)組、list,對map、bean的話,就有點束手無策了。
這時我們可以使用第三種方式進行獲取。

環(huán)境說明:Windows10、IntelliJ IDEA、SpringBoot 2.1.5.RELEASE

@ConfigurationProperties注解獲取配置信息并綁定到對象上示例:

準備工作:引入spring-boot-configuration-processor依賴

給出本人完整的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.aspire.yaml-properties</groupId>
  <artifactId>yaml-properties</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>yaml文件與properties文件語法示例</name>
  <description>yaml文件與properties文件語法示例</description>
 
  <properties>
    <java.version>1.8</java.version>
  </properties>
 
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
 
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
 
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
 
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
    </dependency>
  </dependencies>
 
 
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
 
</project>

加載demo.properties文件中的信息綁定到bean,并注入容器示例:

項目結(jié)構(gòu)說明:

注:application.yml其實在本次演示中,沒有用到。不過本人給出了如何在yml文件中進行類似配置的
示例(見本文末尾)。
追注:如果要讀取的是yml或yaml中的文件,那么最好是直接寫在application.yml或
application.yaml文件中,寫在其他yml文件中的話,可能導致讀取失敗。
(P.S.如果是寫在其他yml或yaml文件中的話,只能通過最后一級key進行
定位,通過多級key可能定位不到。)

先給出一個等下會用到的Uer類:

注:上圖中的注解是快速開發(fā)lombok注解,也可以不使用這些注解,自己寫getter、setter等方法。

DemoConfig中是這樣的:

注:上圖中的@Data注解屬于快速開發(fā)lombok注解,該注解不是必須的,也可以不要該注解,自己手寫
getter、setter、toString等。

deme.properties中是這樣的:

測試一下:

運行測試方法,控制臺輸出(為了方便觀察,本人手動換行整理了一下輸出的內(nèi)容):

由此可見,成功將demo.peoperties文件中的信息綁定到bean上,并注入Spring容器成功!

拓展:

如果是application.yml(或application.yaml)文件,類似的,我們可以這么配置:

參考鏈接
http://chabaoo.cn/article/187407.htm

測試代碼托管鏈接
https://github.com/JustryDeng/CommonRepository/tree/master

到此這篇關(guān)于@ConfigurationProperties綁定配置信息至Array、List、Map、Bean的實現(xiàn)的文章就介紹到這了,更多相關(guān)@ConfigurationProperties綁定至Array、List、Map、Bean內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談java中的路徑表示

    淺談java中的路徑表示

    下面小編就為大家?guī)硪黄獪\談java中的路徑表示。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • spring為java.util.Properties類型的屬性進行賦值過程解析

    spring為java.util.Properties類型的屬性進行賦值過程解析

    這篇文章主要介紹了spring為java.util.Properties類型的屬性進行賦值過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 如何使用Springfox?Swagger實現(xiàn)API自動生成單元測試

    如何使用Springfox?Swagger實現(xiàn)API自動生成單元測試

    Springfox是一個使用Java語言開發(fā)開源的API Doc的框架,它的前身是swagger-springmvc,可以將我們的Controller中的方法以文檔的形式展現(xiàn),這篇文章主要介紹了如何使用Springfox?Swagger實現(xiàn)API自動生成單元測試,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Java中關(guān)于優(yōu)先隊列PriorityQueue的使用及相關(guān)方法

    Java中關(guān)于優(yōu)先隊列PriorityQueue的使用及相關(guān)方法

    這篇文章主要介紹了Java中關(guān)于優(yōu)先隊列PriorityQueue的使用及相關(guān)方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • SpringBoot實現(xiàn)無限級評論回復的項目實踐

    SpringBoot實現(xiàn)無限級評論回復的項目實踐

    本文主要介紹了SpringBoot實現(xiàn)無限級評論回復的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 如何用好Java枚舉讓你的工作效率飛起來

    如何用好Java枚舉讓你的工作效率飛起來

    在JDK1.5之前沒有枚舉類型,那時候一般用接口常量來替代,而使用Java枚舉類型enum可以更貼近地表示這種常量,下面這篇文章主要給大家介紹了關(guān)于如何用好Java枚舉讓你的工作效率飛起來的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Spring整合Quartz定時任務并在集群、分布式系統(tǒng)中的應用

    Spring整合Quartz定時任務并在集群、分布式系統(tǒng)中的應用

    這篇文章主要介紹了Spring整合Quartz定時任務并在集群、分布式系統(tǒng)中的應用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • Java?Spring中Bean的作用域及生命周期

    Java?Spring中Bean的作用域及生命周期

    這篇文章主要介紹了Java?Spring中Bean的作用域及生命周期,Bean的作用域默認是單例模式的,也就是說所有?的使?的都是同?個對象,更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-08-08
  • java并發(fā)包中CountDownLatch和線程池的使用詳解

    java并發(fā)包中CountDownLatch和線程池的使用詳解

    這篇文章主要介紹了java并發(fā)包中CountDownLatch和線程池的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 最新版Spring Security中的路徑匹配方案

    最新版Spring Security中的路徑匹配方案

    在 Spring Security 中,路徑匹配是權(quán)限控制的核心部分,它決定了哪些請求可以訪問特定的資源,本文將詳細介紹 Spring Security 中的路徑匹配策略,并提供相應的代碼示例,需要的朋友可以參考下
    2024-04-04

最新評論