SpringBoot參數映射、隨機數工具、開發及線上設置:代碼實戰分享

提示:目前整理的springboot的實戰代碼,可通過以下方式獲得下載方式:

同時為了感謝大家一直以來的支持,私信後也可以獲取如下架構資料:

人工智能、高端架構、大數據、雲計算、分佈式、微服務

1. SpringBoot的自定義參數映射

(1)自定義參數映射簡介:

springboot整體是提倡是用較少的配置文件,如果有些參數,你不得不通過配置文件進行設置,以增加系統線上使用的靈活性。

(2)springboot進行自定義參數映射的核心步驟簡介:

1)創建springboot的基礎工程

2)增加配置文件,並根據業務需要自定義配置文件中的參數值

3)創建自定義參數對應的實體類

4)利用springboot的啟動類,進行測試參數的獲取

(3)自定義參數映射的步驟代碼實現如下:

1)創建springboot的基礎工程

第一:基於maven創建一個工程,工程名為springbootproper

第二步:修改maven工程的pom.xml文件,核心內容如下:

SpringBoot參數映射、隨機數工具、開發及線上設置:代碼實戰分享

2)增加配置文件,並根據業務需要自定義配置文件中的參數值

在工程的resources目錄下創建配置文件application.properties,裡邊內容如下:

SpringBoot參數映射、隨機數工具、開發及線上設置:代碼實戰分享

3)創建自定義參數對應的實體類

該實體類的目的是:針對映射配置文件中的參數設置,然後通過代碼就可以獲取參數值。

其中該實體類有個註解:@ConfigurationProperties(prefix = "other")

含義是:針對application.properties配置文件中以other開頭的參數,其他開頭的不去映射

SpringBoot參數映射、隨機數工具、開發及線上設置:代碼實戰分享

4)利用springboot的啟動類,進行測試參數的獲取

創建包com.gongyunit.proper.springboot,並在該包下創建springboot的啟動類:

SpringBoot參數映射、隨機數工具、開發及線上設置:代碼實戰分享

2. SpringBoot的自定義屬性中的隨機數工具類

springboot為配置參數提供隨機數工具類,該工具類可以直接在配置文件中使用,常用的隨機數方法簡介如下:

random.long:一個隨機long類型數據

random.int:一個隨機int類型shuju

random.uuid:一個隨機的uuid

random.int[1,200]:從1至200之間取隨機數

random.value:隨機的一個字符串

補充:隨機數工具類方法如何在代碼中應用,下邊會結合多環境配置一塊講解

3. springboot開發及線上等多環境設置

在實際項目中,可能存在研發人員的開發環境和線上參數配置不一致的情況,為了讓研發人員能靈活的在多種情況下切換配置參數,springboot提供了一種多環境配置的方式,具體講解如下:

(1)springboot將配置文件分成1+N個文件

1是指:主配置文件,裡邊核心定義選取N中的哪個文件,命名為:application.yml,裡邊的核心內容如下:

N個文件的取名規則是:application-xxx.yml,比如我們這去兩個文件,名稱分別為:

application-dev.yml

SpringBoot參數映射、隨機數工具、開發及線上設置:代碼實戰分享

application-prod.yml

SpringBoot參數映射、隨機數工具、開發及線上設置:代碼實戰分享

(2)application.yml文件中active這個屬性寫什麼,決定了項目中實際應用哪個文件,比如這裡我們寫dev,就是項目中會使用application-dev.yml中的文件內容

(3)基於配置文件,編寫相應的參數映射實體類,用來獲取參數中的值

該實體類為:SystemProperties

SpringBoot參數映射、隨機數工具、開發及線上設置:代碼實戰分享

(4)在springboot的啟動類中進行測試,啟動類修改為如下內容:

SpringBoot參數映射、隨機數工具、開發及線上設置:代碼實戰分享

測試結果是:項目一啟動就會有如下打印內容:

SystemProperties{internalTime='-8990625280794778035', machineId='502bfb96-529f-4fb7-803f-b916cb9c864a', database='mysql', sumup='機器的標識:e2dfbdb2-4a0f-4e33-9a33-0a5d7da984b5,用的數據庫是:mysql'}

再次提醒:目前整理的springboot的實戰代碼,可通過以下方式獲得下載方式:

同時為了感謝大家一直以來的支持,私信後也可以獲取如下架構資料:

人工智能、高端架構、大數據、雲計算、分佈式、微服務


分享到:


相關文章: