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

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

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

相關(guān)說(shuō)明:

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

  1. @Value注解。
  2. 使用Environment。
  3. @ConfigurationProperties注解。
  4. 通過(guò)實(shí)現(xiàn)ApplicationListener接口,注冊(cè)監(jiān)聽(tīng)器,進(jìn)行硬編碼獲取,可參考:http://www.dbjr.com.cn/article/187407.htm
  5. 硬編碼加載文件獲取。
  6. ……

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

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

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

準(zhǔn)備工作:引入spring-boot-configuration-processor依賴(lài)

給出本人完整的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文件語(yǔ)法示例</name>
  <description>yaml文件與properties文件語(yǔ)法示例</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,并注入容器示例:

項(xiàng)目結(jié)構(gòu)說(shuō)明:

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

先給出一個(gè)等下會(huì)用到的Uer類(lèi):

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

DemoConfig中是這樣的:

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

deme.properties中是這樣的:

測(cè)試一下:

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

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

拓展:

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

參考鏈接
http://www.dbjr.com.cn/article/187407.htm

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

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

相關(guān)文章

  • 淺談java中的路徑表示

    淺談java中的路徑表示

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

    spring為java.util.Properties類(lèi)型的屬性進(jìn)行賦值過(guò)程解析

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

    如何使用Springfox?Swagger實(shí)現(xiàn)API自動(dòng)生成單元測(cè)試

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

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

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

    SpringBoot實(shí)現(xiàn)無(wú)限級(jí)評(píng)論回復(fù)的項(xiàng)目實(shí)踐

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

    如何用好Java枚舉讓你的工作效率飛起來(lái)

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

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

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

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

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

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

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

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

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

最新評(píng)論