springboot 工具類載入配置物件

2021-09-28 10:40:16 字數 1798 閱讀 8497

【前言】

我們通常在對接乙個 api 的時候,往往會有一些相關配置資訊。

就比如下面這個例子:對接阿里的 oss 的這個工具類

為了呼叫方便,我們通常會將工具類種的方法修飾為public static

我們在其他地方使用的時候,直接寫 aliyunossuntil.uploadobject() 就可以呼叫了。

【思考】

但這樣的寫法好像不是很優雅,因為這些配置資訊一旦變動,就得重新修改**。那麼,要想同步到線上,就必須得重新打包,然後進行部署啟動。

為了解決這樣的後顧之憂,我們可以把相關資訊放在配置檔案中,這樣如果修改,我們只需要更新配置檔案,就不會去修改**部分。

【具體實現】

建立配置類物件

(1.1)我們首先建立乙個配置類物件

(1.2)然後開啟物件,把相關的配置資訊設定為屬性,並提供對應的 getter 和 setter 方法。

對於需要初始化的屬性可以用方法表明(比如這裡的 ossclient ),然後在上面打上對應的 @bean註解。

配置檔案寫入

然後在對應配置類上打上 @configurationproperties 和 @component 註解。

@component 這個註解大家應該都不陌生,這個就是可以讓spring掃瞄到。

修改工具類

(4.1)注入配置類物件

現在,我們就可以乾掉之前工具類中的配置屬性了,並把配置物件注入到裡面。

注:記得在工具類上方加上 @component 註解,好讓 spring 掃瞄到

(4.2)相關思考

現在注入配置物件已經不為空,但下面的方法卻不能直接使用,因為方法是 static 修飾的,而物件沒有 static 修飾。

那麼要解決這種情況,我們可以有兩者思路:

第一種:注入物件加 static 修飾,但這種行不通,加了是注入不了的(自己可以去檢視看為什麼注入不了)。

第二種:增加乙個物件屬性,把注入的例項賦值過來,因此,這個方法就行得通了。

(4.3)增加 static 配置物件

我們增加乙個 static 修飾的配置物件,並增加乙個對應的 init() 初始化方法,在方法上面打上 @postconstruct 註解。

注: @postconstruct 標明的方法會在載入的時候首先執行,那麼當 aliyunossconfig 被例項之後,我們就可以通過這個方法將他賦值給 static 修飾的 config 了,那麼工具類中的方法就可以直接使用 config 了。

(4.4)這樣我們就達到了題幹中【工具類載入配置物件】的實現了,並且呼叫方式和以前不變。

SpringBoot 雪花演算法工具類

多用於生成訂單號 eg 779281037489340416 package com.ldh.util public class snowflake if datacenterid maxdatacenterid datacenterid 0 this workerid workerid this ...

JS工具類 Js動態載入類

function jsloader jsloader.loaded jsloader.prototype load function jspath,callback check function jspath var head document.getelementsbytagname head i...

SpringBoot常用工具類

1.cookieutils 提供對於cookie的訪問以及編碼設定的工具類 cookieutils 2.md5utils 實現md5加密工具類 md5utils 3.jsonutils 支援對list map pojo等或json物件互轉 jsonutils 4.pageresult 對分頁的引數進...