本篇內(nèi)容主要講解“java使用springboot-starter啟動(dòng)檢查配置是否滿足要求”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“java使用springboot-starter啟動(dòng)檢查配置是否滿足要求”吧!
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括宜賓網(wǎng)站建設(shè)、宜賓網(wǎng)站制作、宜賓網(wǎng)頁(yè)制作以及宜賓網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,宜賓網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到宜賓省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
主要有以下幾個(gè)檢測(cè)項(xiàng):
1. 環(huán)境變量的檢查
2. java運(yùn)行變量的檢查
3. 指定位置文件的檢查
4. host檢查
要想一啟動(dòng)程序就運(yùn)行,我們自然而然就想到了springboot 的 starter 項(xiàng)目,對(duì),我們把這個(gè)也封裝成一個(gè)starter, 這樣一啟動(dòng)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 {@Overridepublic void initialize(ConfigurableApplicationContext applicationContext) {System.out.println("write check code here");}}
運(yùn)行效果如下:

這樣我們就做到了在項(xiàng)目一啟動(dòng)的時(shí)候就運(yùn)行檢測(cè)代碼的效果
如上所述有環(huán)境變量,文件等簡(jiǎn)單的校驗(yàn),本文以apollo的檢測(cè)為例寫(xiě)幾個(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;}/*** 對(duì)外提供的調(diào)用方法,在 new 完InitCheck之后,就調(diào)用這個(gè)方法** @return*/public boolean checkAll(){return checkApollo();}/*** 檢查apollo的配置是否正確* @return*/private boolean checkApollo(){//apollo主要是檢查ENV有沒(méi)有設(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("請(qǐng)正確配置apollo , 設(shè)置環(huán)境變量 ENV=dev 或者在文件 %s 中寫(xiě)入 ENV=dev \n",filePath);}return result;}}
運(yùn)行效果如下圖所示:

其他檢查代碼因不好脫敏,就先不發(fā)出來(lái)了,但思路都是一致的,大家也可以寫(xiě)一寫(xiě)嘗試下
到此,相信大家對(duì)“java使用springboot-starter啟動(dòng)檢查配置是否滿足要求”有了更深的了解,不妨來(lái)實(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啟動(dòng)檢查配置是否滿足要求
網(wǎng)址分享:http://www.chinadenli.net/article14/igjgge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、、網(wǎng)頁(yè)設(shè)計(jì)公司、App開(kāi)發(fā)、商城網(wǎng)站、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)