最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot中的自定義FailureAnalyzer詳解

 更新時間:2023年12月22日 11:01:30   作者:yyqhwr  
這篇文章主要介紹了SpringBoot中的自定義FailureAnalyzer詳解,FailureAnalyzer是一種很好的方式在啟動時攔截異常并將其轉(zhuǎn)換為易讀的消息,并將其包含在FailureAnalysis中, Spring Boot為應(yīng)用程序上下文相關(guān)異常、JSR-303驗證等提供了此類分析器,需要的朋友可以參考下

介紹

FailureAnalyzer是一種很好的方式在啟動時攔截異常并將其轉(zhuǎn)換為易讀的消息,并將其包含在FailureAnalysis中。 Spring Boot為應(yīng)用程序上下文相關(guān)異常、JSR-303驗證等提供了此類分析器。 實際上也是非常容易創(chuàng)建自己的FailureAnalyzer。

AbstractFailureAnalyzer是FailureAnalyzer的一個抽象實現(xiàn),它檢查要處理的異常中是否存在指定的異常類型。 我們可以從中進(jìn)行擴(kuò)展,以便存在指定的異常時有機(jī)會去處理。 如果由于某種原因無法處理異常,則返回null以使另一個實現(xiàn)有機(jī)會處理異常。

代碼示例 

檢查java.lang.NullPointerException異常

繼承AbstractFailureAnalyzer,重寫analyze方法,返回FailureAnalysis。泛型的類型是Throwable的子類。

package com.example.demo.failureAnalyzer;
import org.springframework.boot.diagnostics.AbstractFailureAnalyzer;
import org.springframework.boot.diagnostics.FailureAnalysis;
public class NullPointFailureAnalyzer extends AbstractFailureAnalyzer<NullPointerException> {
    @Override
    protected FailureAnalysis analyze(Throwable rootFailure, NullPointerException cause) {
        return new FailureAnalysis(cause.getMessage(), "請檢查空指針", cause);
    }
}

spring.factories注冊

#src/main/resources/META-INF中添加spring.factories,并注冊自定義的FailureAnalyzer:
org.springframework.boot.diagnostics.FailureAnalyzer=\
com.momo.springbootfailureanalyzer.ArithmeticFailureAnalyzer

測試

定義一個NullPointException,如null.equal(ss)。SpringBoot在啟動時會創(chuàng)建這個bean,在執(zhí)行方法時由于null.equal(ss)的原因會拋出java.lang.NullPointerException運行時異常,此時通過自定義的FailureAnalyzer進(jìn)行捕獲并處理該異常。

@Service
public class ValidateNullPointExceptionService {
    public ValidateNullPointExceptionService() {
        Integer a = null;
        System.out.println(a.equals("88"));
    }
}

啟動時控制臺打印的信息

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2019-02-26 16:48:24.228 ERROR 28488 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 
***************************
APPLICATION FAILED TO START
***************************
Description:
null
Action:
請檢查空指針
Process finished with exit code 1

到此這篇關(guān)于SpringBoot中的自定義FailureAnalyzer詳解的文章就介紹到這了,更多相關(guān)自定義FailureAnalyzer內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

五原县| 昆山市| 府谷县| 星子县| 微山县| 正蓝旗| 甘洛县| 黄骅市| 贵州省| 高雄县| 南澳县| 仁布县| 福建省| 万全县| 会同县| 南华县| 南汇区| 兴业县| 高陵县| 丰城市| 兴义市| 甘谷县| 福建省| 襄城县| 鹿邑县| 淳化县| 德令哈市| 沅陵县| 宣汉县| 都江堰市| 措勤县| 永胜县| 龙州县| 蒙山县| 罗平县| 富民县| 施秉县| 宜丰县| 南京市| 凉山| 鄂温|