本篇內(nèi)容主要講解“java使用springboot-starter啟動檢查配置是否滿足要求”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“java使用springboot-starter啟動檢查配置是否滿足要求”吧!
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括宜賓網(wǎng)站建設(shè)、宜賓網(wǎng)站制作、宜賓網(wǎng)頁制作以及宜賓網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,宜賓網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到宜賓省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
主要有以下幾個(gè)檢測項(xiàng):
1. 環(huán)境變量的檢查
2. java運(yùn)行變量的檢查
3. 指定位置文件的檢查
4. host檢查
要想一啟動程序就運(yùn)行,我們自然而然就想到了springboot 的 starter 項(xiàng)目,對,我們把這個(gè)也封裝成一個(gè)starter, 這樣一啟動springboot應(yīng)用,就可以檢查各種條件了.
引入依賴:
dependencies { implementation platform('org.springframework.boot:spring-boot-dependencies:2.1.6.RELEASE') compile group: 'org.springframework.boot', name: 'spring-boot-autoconfigure' }
項(xiàng)目結(jié)構(gòu)如下圖所示
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");
}
}
運(yùn)行效果如下:
這樣我們就做到了在項(xiàng)目一啟動的時(shí)候就運(yùn)行檢測代碼的效果
如上所述有環(huán)境變量,文件等簡單的校驗(yàn),本文以apollo的檢測為例寫幾個(gè)典型的獲取配置的代碼,下面的代碼中包含判斷文件是否存在,判斷環(huán)境變量,判斷系統(tǒng)變量
public class InitCheck {
/** 操作系統(tǒng)類別: 1是win, 2是其他 */
private Integer osType;
/** 環(huán)境變量的map */
private Map<String ,String> envMap = System.getenv();
public InitCheck() {
//獲取操作系統(tǒng)類型
String osName = System.getProperty("os.name");
this.osType = osName.contains("windows")?1:2;
}
/**
* 對外提供的調(diào)用方法,在 new 完InitCheck之后,就調(diào)用這個(gè)方法
*
* @return
*/
public boolean checkAll(){
return checkApollo();
}
/**
* 檢查apollo的配置是否正確
* @return
*/
private boolean checkApollo(){
//apollo主要是檢查ENV有沒有設(shè)置,而且只檢查環(huán)境變量和文件
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 , 設(shè)置環(huán)境變量 ENV=dev 或者在文件 %s 中寫入 ENV=dev \n",filePath);
}
return result;
}
}
運(yùn)行效果如下圖所示:
其他檢查代碼因不好脫敏,就先不發(fā)出來了,但思路都是一致的,大家也可以寫一寫嘗試下
到此,相信大家對“java使用springboot-starter啟動檢查配置是否滿足要求”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
本文題目:java使用springboot-starter啟動檢查配置是否滿足要求
網(wǎng)址分享:http://www.rwnh.cn/article14/igjgge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、、網(wǎng)頁設(shè)計(jì)公司、App開發(fā)、商城網(wǎng)站、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)