淺談什么是SpringBoot異常處理自動(dòng)配置的原理
異常處理自動(dòng)配置
ErrorMvcAutoConfiguration自動(dòng)配置類自動(dòng)配置了處理規(guī)則,給容器中注冊(cè)了多種組件
errorAttributes組件,類型為DefaultErrorAttributes。這個(gè)組件定義錯(cuò)誤頁(yè)面中可以包含哪些數(shù)據(jù)



basicErrorController組件,類型為BasicErrorController。處理默認(rèn)/error路徑的請(qǐng)求,new一個(gè)id為error的ModelAndView對(duì)象來(lái)響應(yīng)頁(yè)面

error組件,類型為View。響應(yīng)的是默認(rèn)錯(cuò)誤頁(yè)面

beanNameViewResolver組件,類型為BeanNameViewResolver。這個(gè)組件會(huì)按照返回的視圖名作為組件的id去容器中找View對(duì)象

conventionErrorViewResolver組件,類型為DefaultErrorViewResolver。這個(gè)組件用來(lái)解析錯(cuò)誤視圖頁(yè)面,如果發(fā)生錯(cuò)誤,會(huì)以HTTP的狀態(tài)碼作為視圖頁(yè)面地址找到真正的頁(yè)面


總結(jié):
- 如果需要添加頁(yè)面錯(cuò)誤可以獲取的數(shù)據(jù),就自定義
DefaultErrorAttributes組件 - 如果需要修改錯(cuò)誤頁(yè)面跳轉(zhuǎn)邏輯,就自定義
BasicErrorController組件 - 如果需要修改錯(cuò)誤頁(yè)面存放的靜態(tài)資源路徑,就自定義
DefaultErrorViewResolver組件
到此這篇關(guān)于淺談什么是SpringBoot異常處理自動(dòng)配置的原理的文章就介紹到這了,更多相關(guān)SpringBoot異常處理自動(dòng)配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java.sql.SQLException:com.mysql.cj.jdbc.Driver報(bào)錯(cuò)問(wèn)題解決
這篇文章主要給大家介紹了關(guān)于java.sql.SQLException:com.mysql.cj.jdbc.Driver報(bào)錯(cuò)問(wèn)題解決的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08
mybatis plus 自動(dòng)轉(zhuǎn)駝峰配置小結(jié)
SpringBoot提供兩種配置Mybatis的方式,第一種是通過(guò)yml或application.properties文件開(kāi)啟配置,第二種是使用自定義配置類,通過(guò)給容器添加一個(gè)ConfigurationCustomizer來(lái)實(shí)現(xiàn)更靈活的配置,這兩種方法可以根據(jù)項(xiàng)目需求和個(gè)人喜好選擇使用2024-10-10
Go Java算法之K個(gè)重復(fù)字符最長(zhǎng)子串詳解
這篇文章主要為大家介紹了Go Java算法之K個(gè)重復(fù)字符最長(zhǎng)子串詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
基于SqlSessionFactory的openSession方法使用
這篇文章主要介紹了SqlSessionFactory的openSession方法使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
SpringBoot Logback日志記錄到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot Logback日志記錄到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
SpringBoot定時(shí)任務(wù)詳解與案例代碼
SpringBoot是一個(gè)流行的Java開(kāi)發(fā)框架,它提供了許多便捷的特性來(lái)簡(jiǎn)化開(kāi)發(fā)過(guò)程,其中之一就是定時(shí)任務(wù)的支持,讓開(kāi)發(fā)人員可以輕松地在應(yīng)用程序中執(zhí)行定時(shí)任務(wù),本文將詳細(xì)介紹如何在Spring?Boot中使用定時(shí)任務(wù),并提供相關(guān)的代碼示例2023-06-06

