• 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的自动配置都会失效(包括静态资源页的访问等等),而需要我们自己手段配置所有的类;

  • 相关阅读:
    【模板】O(nlongn)求LIS
    【图论】用线段树写Dijikstra!!
    【图论】最短路总结
    【codeforces841A】Generous Kefa
    【模板】Tarjian求LCA
    【模板】 RMQ求区间最值
    【模板】map入门
    【二分 贪心】覆盖问题 BZOJ1052 HAOI2007
    【dp】10-15题解 snake vs block
    【模拟】10-15 题解 trans
  • 原文地址:https://www.cnblogs.com/iceb/p/9220047.html
Copyright © 2020-2023  润新知