最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot從yml配置文件中讀常用參數(shù)值實例方法

 更新時間:2019年12月02日 08:19:56   作者:菜弟弟  
在本篇文章里小編給大家整理了關(guān)于SpringBoot從yml配置文件中讀常用參數(shù)值實例方法,有需要的朋友們學(xué)習(xí)下。

SpringBoot現(xiàn)在基本上都是使用application-XXX.yml(生產(chǎn)環(huán)境為pro,開發(fā)測試環(huán)境為dev)來配置項目中的一些配置條件,在springboot中還可以通過從yml文件中將yml中的數(shù)據(jù)直接讀取出來。

1.yml文件(這里設(shè)置參數(shù)的時候往往設(shè)置兩層前綴,避免在調(diào)用的時候該屬性中的部分參數(shù)名與計算機中的某些名字沖突)

test:
 person:
  lastName: hello
  age: 18
  boss: false
  birth: 2017/12/12
  maps: {k1: v1,k2: 12}
  lists:
   - lisi
   - zhaoliu
  dog:
   name: 小狗
   age: 12

2.在JavaBean中讀取參數(shù)值,并且將讀取出來的值賦予到指定的屬性上

/**
 * 將配置文件中配置的每一個屬性的值,映射到這個組件中
 * @ConfigurationProperties:告訴SpringBoot將本類中的所有屬性和配置文件中相關(guān)的配置進行綁定;
 *   prefix = "testdemo.person":配置文件中哪個下面的所有屬性進行一一映射(yml文件中的參數(shù)名要和JavaBean中的屬性名保持一致)
 *
 * 只有這個組件是容器中的組件,才能容器提供的@ConfigurationProperties功能;
 *
 */
@Component
@ConfigurationProperties(prefix = "testdemo.person")
public class Person {

  private String lastName;
  private Integer age;
  private Boolean boss;
  private Date birth;

  private Map<String,Object> maps;
  private List<Object> lists;
  private Dog dog;
}

 3.pom.xml文件中導(dǎo)入依賴配置(注:這里可能需要啟動一下項目,使之生效)

<!--導(dǎo)入配置文件處理器,配置文件進行綁定就會有提示-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <optional>true</optional>
    </dependency>

4.@value 注解獲取yml配置文件中的數(shù)據(jù),以及@Validated進行數(shù)據(jù)校驗

@Component
@Validated
public class Person {

  /**
   * <bean class="Person">
   *   <property name="lastName" value="字面量/${key}從環(huán)境變量、配置文件中獲取值/#{SpEL}"></property>   * <bean/>
   */

  //lastName必須是郵箱格式
  @Email
  @Value("${person.last-name}")
  private String lastName;
  @Value("#{11*2}")
  private Integer age;
  @Value("true")
  private Boolean boss;

  private Date birth;
  private Map<String,Object> maps;
  private List<Object> lists;
  private Dog dog;

5.@ConfigurationProperties(prefix = "person") 和 @value的區(qū)別

|          | @ConfigurationProperties       | @Value |
| ----------          |------------------------          | ------ |
| 功能         | 批量注入配置文件中的屬性    | 一個個指定 |
| 松散綁定(松散語法)   | 支持           | 不支持 |
| SpEL          | 不支持          | 支持 |
| JSR303數(shù)據(jù)校驗     | 支持           | 不支持 |
| 復(fù)雜類型封裝       | 支持           | 不支持 |

6.總結(jié)

配置文件yml還是properties他們都能獲取到值;

如果說,我們只是在某個業(yè)務(wù)邏輯中需要獲取一下配置文件中的某項值,使用@Value;

如果說,我們專門編寫了一個javaBean來和配置文件進行映射,我們就直接使用@ConfigurationProperties;

以上就是本次介紹的全部相關(guān)知識點,感謝大家的學(xué)習(xí)和對腳本之家的支持。

相關(guān)文章

  • java實現(xiàn)微信H5支付方法詳解

    java實現(xiàn)微信H5支付方法詳解

    本篇文章主要介紹了java實現(xiàn)微信H5支付方法詳解,非常具有實用價值,需要的朋友可以參考下
    2017-04-04
  • Spring Boot實現(xiàn)微信小程序登錄

    Spring Boot實現(xiàn)微信小程序登錄

    這篇文章主要為大家詳細介紹了Spring Boot實現(xiàn)微信小程序登錄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • java實現(xiàn)收藏功能

    java實現(xiàn)收藏功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)收藏功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • java編譯后的文件出現(xiàn)xx$1.class的原因及解決方式

    java編譯后的文件出現(xiàn)xx$1.class的原因及解決方式

    這篇文章主要介紹了java編譯后的文件出現(xiàn)xx$1.class的原因及解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • SpringBoot傳遞單一參數(shù)時@RequestParam和@RequestBody的區(qū)別小結(jié)

    SpringBoot傳遞單一參數(shù)時@RequestParam和@RequestBody的區(qū)別小結(jié)

    用SpringBoot框架做項目時,經(jīng)常需要前端給后端傳遞參數(shù),本文主要介紹了SpringBoot傳遞單一參數(shù)時@RequestParam和@RequestBody的區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • IntelliJ IDEA里找不到j(luò)avax.servlet的jar包的解決方法

    IntelliJ IDEA里找不到j(luò)avax.servlet的jar包的解決方法

    這篇文章主要介紹了IntelliJ IDEA里找不到j(luò)avax.servlet的jar包的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 解決線程異常WAITING(parking)問題

    解決線程異常WAITING(parking)問題

    文章總結(jié):在項目中線程數(shù)量持續(xù)增長無法回收,導(dǎo)致服務(wù)器卡死和內(nèi)存不足,通過分析發(fā)現(xiàn)是由于自定義線程池未執(zhí)行shutdown()關(guān)閉導(dǎo)致線程泄漏
    2024-11-11
  • java實現(xiàn)ATM機系統(tǒng)(2.0版)

    java實現(xiàn)ATM機系統(tǒng)(2.0版)

    這篇文章主要為大家詳細介紹了java實現(xiàn)ATM機系統(tǒng)2.0版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Java超過long類型的數(shù)據(jù)表示方法

    Java超過long類型的數(shù)據(jù)表示方法

    這篇文章主要給大家介紹Java超過long類型的數(shù)據(jù)如何表示,在 Java 中,如果需要表示超過 long 類型范圍的數(shù)據(jù),可以使用 BigInteger 類,BigInteger 是 Java 提供的一個用于處理任意精度整數(shù)的類,它可以表示非常大或非常小的整數(shù),需要的朋友可以參考下
    2023-09-09
  • Mybatis的核心架構(gòu)及源碼解讀

    Mybatis的核心架構(gòu)及源碼解讀

    這篇文章主要介紹了Mybatis的核心架構(gòu)及源碼解讀,mybatis是一款半自動化的持久層框架,它封裝了JDBC操作,支持定制化SQL,高級映射,但它的數(shù)據(jù)庫無關(guān)性較低,需要的朋友可以參考下
    2023-08-08

最新評論

偏关县| 淅川县| 水城县| 丹凤县| 砚山县| 石棉县| 搜索| 绍兴县| 土默特右旗| 盘山县| 萨嘎县| 灵宝市| 精河县| 陆丰市| 台湾省| 土默特右旗| 岫岩| 浦县| 华蓥市| 张北县| 永康市| 防城港市| 安丘市| 靖州| 玉田县| 延寿县| 马鞍山市| 长武县| 双桥区| 洛南县| 师宗县| 张家川| 尚义县| 大荔县| 靖安县| 西乌珠穆沁旗| 理塘县| 平湖市| 噶尔县| 寿光市| 中江县|