欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMvc定制化深入探究原理

 更新時間:2022年10月20日 15:47:08   作者:劉婉晴  
SpringMVC是一種基于Java,實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式,請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進(jìn)行職責(zé)解耦,這篇文章主要介紹了SpringMvc定制化原理

一、SpringBoot 自動配置套路

引入場景 starter —— xxxxAutoConfiguration —— 導(dǎo)入 xxxx組件 —— 綁定 xxxxProperties —— 綁定配置文件項(xiàng)

因此,需要修改時只需要修改配置文件項(xiàng)

二、定制化常見方式

使用 @Bean + 編寫自定義配置類 ,增加或替換容器中的一些組件 (常用)

修改配置文件

使用定制化器 —— xxxxCustomizer

編寫配置類, 實(shí)現(xiàn) WebMvcConfigurer 接口,定制化 web 功能 (常用)

@EnableWebMvc + 實(shí)現(xiàn) WebMvcConfigurer 接口 ,全面接管 SpringMvc,所有 SpringBoot 默認(rèn)規(guī)則失效 (慎用)

@EnableWebMvc 原理

  • WebMvcAutoConfiguration 中有全部 SpringMvc 默認(rèn)自動配置功能類(靜態(tài)資源、歡迎頁…)
  • 一旦使用 @EnableWebMvc ,其是一復(fù)合注釋,導(dǎo)入 DelegatingWebMvcConfiguration 類
@Import({<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->DelegatingWebMvcConfiguration.class})

DelegatingWebMvcConfiguration.class 只保證 SpringMvc 最底層的使用,其作用如下

(1)把系統(tǒng)中的所有 WebMvcConfigurer 拿過來,無論有多少 Configurer 都是這些 Configurer 合起來一起生效

(2)@EnableWebMvc 自動配置了一些最底層的組件(RequestMappingHandlerMapping …),這些組件依賴的組件都是從容器中獲取

WebMvcAutoConfiguration 生效的條件為容器中沒有 WebMvcConfigurationSupport.class這個組件(這個組件在DelegatingWebMvcConfiguration 中,DelegatingWebMvcConfiguration 在 EnableWebMvc 中)

@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)

因此,使用 @EnableWebMvc 后,所有的自動配置規(guī)則都失效,慎用 ?。?!

三、使用 @EnableWebMvc 案例

如下為 @EnableWebMvc 全面接管下,需自定義靜態(tài)資源訪問路徑代碼示例,不止是這個行為需要自定義,其他自動配置的行為全部需要自定義,因此要慎用

@Configuration
@EnableWebMvc // 完全控制 SpringMvc , 全面接管 —— 謹(jǐn)慎使用
// 全面接管含義: SpringBoot 官方列舉的自動配置,全部失效,必須自定義行為
public class AdminWebConfig implements WebMvcConfigurer {
    // 全面接管下,定義靜態(tài)資源行為
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 訪問 a 路徑下的所有請求,都去 static 文件夾下尋找
        registry.addResourceHandler("/a/**").addResourceLocations("classpath:/static/");
    }
}

到此這篇關(guān)于SpringMvc定制化深入探究原理的文章就介紹到這了,更多相關(guān)SpringMvc定制化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring中自定義數(shù)據(jù)類型轉(zhuǎn)換的方法詳解

    Spring中自定義數(shù)據(jù)類型轉(zhuǎn)換的方法詳解

    Spring3引入了一個core.onvert包,提供一個通用類型轉(zhuǎn)換系統(tǒng)。在Spring容器中,可以使用這個系統(tǒng)作為PropertyEditor實(shí)現(xiàn)的替代,將外部化的bean屬性值字符串轉(zhuǎn)換為所需的屬性類型。本文將詳解這一系統(tǒng)的使用方法,需要的可以參考一下
    2022-06-06
  • 解決SpringBoot在后臺接收前臺傳遞對象方式的問題

    解決SpringBoot在后臺接收前臺傳遞對象方式的問題

    這篇文章主要介紹了解決SpringBoot在后臺接收前臺傳遞對象方式的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Spring Boot如何動態(tài)創(chuàng)建Bean示例代碼

    Spring Boot如何動態(tài)創(chuàng)建Bean示例代碼

    這篇文章主要給大家介紹了關(guān)于Spring Boot如何動態(tài)創(chuàng)建Bean的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Java中IO流的BufferedOutputStream和FileOutputStream對比

    Java中IO流的BufferedOutputStream和FileOutputStream對比

    這篇文章主要介紹了Java中IO流的BufferedOutputStream和FileOutputStream對比,不帶緩沖的操作,每讀一個字節(jié)就要寫入一個字節(jié),由于涉及磁盤的IO操作相比內(nèi)存的操作要慢很多,所以在讀寫的字節(jié)比較少的情況下,效率比較低,需要的朋友可以參考下
    2023-07-07
  • Java如何讀取jar包中的resource資源文件

    Java如何讀取jar包中的resource資源文件

    這篇文章主要介紹了Java如何讀取jar包中的resource資源文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Spring?Cloud?Gateway?2.x跨域時出現(xiàn)重復(fù)Origin的BUG問題

    Spring?Cloud?Gateway?2.x跨域時出現(xiàn)重復(fù)Origin的BUG問題

    這篇文章主要介紹了Spring?Cloud?Gateway?2.x跨域時出現(xiàn)重復(fù)Origin的BUG問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java Socket編程筆記_動力節(jié)點(diǎn)Java學(xué)院整理

    Java Socket編程筆記_動力節(jié)點(diǎn)Java學(xué)院整理

    Socket對于我們來說就非常實(shí)用了。下面是本次學(xué)習(xí)的筆記。主要分異常類型、交互原理、Socket、ServerSocket、多線程這幾個方面闡述
    2017-05-05
  • Spring Boot應(yīng)用的極速部署腳本示例代碼

    Spring Boot應(yīng)用的極速部署腳本示例代碼

    最近在工作中遇到了一個問題,需要極速的部署Spring Boot應(yīng)用,發(fā)現(xiàn)網(wǎng)上這方面的資料較少,所以自己來總結(jié)下,這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用的極速部署腳本的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • Spring Boot 與 Kotlin 使用Redis數(shù)據(jù)庫的配置方法

    Spring Boot 與 Kotlin 使用Redis數(shù)據(jù)庫的配置方法

    Redis是目前業(yè)界使用最廣泛的內(nèi)存數(shù)據(jù)存儲。下面通過本文給大家介紹Spring Boot 與 Kotlin 使用Redis數(shù)據(jù)庫的配置方法,感興趣的朋友一起看看吧
    2018-01-01
  • 解決JDBC Connection Reset的問題分析

    解決JDBC Connection Reset的問題分析

    這篇文章主要介紹了解決JDBC Connection Reset的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評論