SpringBoot日記——SpringMvc自動配置與擴展篇


為了讓SpringBoot保持對SpringMVC的全面支持和擴展,而且還要維持SpringBoot不寫xml配置的優勢,我們需要添加一些簡單的配置類即可實現;

 

通常我們使用的最多的注解是:

@Bean
@Component

配置后的類就是我們要寫在容器中的一些配置;詳情后續再說,或者你也可以參考官方文檔

關於擴展

  這里我們說一下如何做擴展呢,先看一下原先在SpringMvc中我們是如何寫的,來看XML(這是一段關於路徑映射和攔截器的簡單配置,訪問hello路徑也展示success.html的頁面,並且對hello做了攔截設置)

    <mvc:view-controller path="/hello" view-name="success"/>
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="hello"/>
            <bean></bean>
        </mvc:interceptor>
    </mvc:interceptors>

  接下來看下SpringBoot如何實現類似上述的這種情況:(IDEA的快捷鍵 Ctrl+O 可以快速讀取可繼承的全部方法,選擇所需即可)

// SpringBoot2.0版本使用WebMvcConfigurationSupport 來擴展SpringMvc的功能
@Configuration
public class MyMvcConfig extends WebMvcConfigurationSupport {
    @Override
    protected void addViewControllers(ViewControllerRegistry registry) {
        // super.addViewControllers(registry);
        // 瀏覽器發送 /ice 請求,同樣展示success頁面,但是不讀取數據
        registry.addViewController("/ice").setViewName("success");
    }
}

展示結果:(也就是說,SpringBoot的配置類,只需要加上@Configuration 就可以了)

  注意:關於擴展,有一個特殊的注解 @EnableWebMvc ,他的作用是全面接管SpringMvc的配置,也就是說SpringBoot的所有關於SpringMvc的自動配置都會失效(包括靜態資源頁的訪問等等),而需要我們自己手段配置所有的類;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM