您好,登錄后才能下訂單哦!
本篇內容主要講解“java使用springboot-starter啟動檢查配置是否滿足要求”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java使用springboot-starter啟動檢查配置是否滿足要求”吧!
主要有以下幾個檢測項:
1. 環境變量的檢查
2. java運行變量的檢查
3. 指定位置文件的檢查
4. host檢查
要想一啟動程序就運行,我們自然而然就想到了springboot 的 starter 項目,對,我們把這個也封裝成一個starter, 這樣一啟動springboot應用,就可以檢查各種條件了.
引入依賴:
dependencies { implementation platform('org.springframework.boot:spring-boot-dependencies:2.1.6.RELEASE') compile group: 'org.springframework.boot', name: 'spring-boot-autoconfigure' }
項目結構如下圖所示
spring.factories:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.platform.tools.starter.spring.boot.ToolAutoConfigurationorg.springframework.context.ApplicationContextInitializer=\com.platform.tools.starter.spring.boot.ToolApplicationContextInitializer
ToolAutoConfiguration.java
@Configurationpublic class ToolAutoConfiguration {}
ToolApplicationContextInitializer.java
public class ToolApplicationContextInitializer implements ApplicationContextInitializer {
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
System.out.println("write check code here");
}
}
運行效果如下:
這樣我們就做到了在項目一啟動的時候就運行檢測代碼的效果
如上所述有環境變量,文件等簡單的校驗,本文以apollo的檢測為例寫幾個典型的獲取配置的代碼,下面的代碼中包含判斷文件是否存在,判斷環境變量,判斷系統變量
public class InitCheck {
/** 操作系統類別: 1是win, 2是其他 */
private Integer osType;
/** 環境變量的map */
private Map<String ,String> envMap = System.getenv();
public InitCheck() {
//獲取操作系統類型
String osName = System.getProperty("os.name");
this.osType = osName.contains("windows")?1:2;
}
/**
* 對外提供的調用方法,在 new 完InitCheck之后,就調用這個方法
*
* @return
*/
public boolean checkAll(){
return checkApollo();
}
/**
* 檢查apollo的配置是否正確
* @return
*/
private boolean checkApollo(){
//apollo主要是檢查ENV有沒有設置,而且只檢查環境變量和文件
String env = envMap.get("ENV");
boolean envFlag = env != null && !env.isEmpty();
String filePath = osType==1?"C:/opt/settings/server.properties":"/opt/settings/server.properties";
boolean fileFlag = Files.exists(Paths.get(filePath));
boolean result = envFlag || fileFlag;
if(!result){
System.out.printf("請正確配置apollo , 設置環境變量 ENV=dev 或者在文件 %s 中寫入 ENV=dev \n",filePath);
}
return result;
}
}
運行效果如下圖所示:
其他檢查代碼因不好脫敏,就先不發出來了,但思路都是一致的,大家也可以寫一寫嘗試下
到此,相信大家對“java使用springboot-starter啟動檢查配置是否滿足要求”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。