图解源码 | SpringBoot中拓展SpringMVC原理

栏目: Java · 发布时间: 6年前

内容简介:111111111111111111111111111111111111111

图解源码 | SpringBoot中拓展SpringMVC原理

@Configuration
public class FeichaoMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new HandlerInterceptor() {

            public boolean preHandle(HttpServletRequest request,
                                     HttpServletResponse response,
                                     Object handler) throws Exception {
                System.out.println("公众号:肥朝(id:feichao_java),preHandle");
                return true;
            }

            public void postHandle(HttpServletRequest request,
                                   HttpServletResponse response,
                                   Object handler,
                                   ModelAndView modelAndView) throws Exception {
                System.out.println("公众号:肥朝(id:feichao_java),postHandle");
            }

            public void afterCompletion(HttpServletRequest request,
                                        HttpServletResponse response,
                                        Object handler,
                                        Exception ex) throws Exception {
                System.out.println("公众号:肥朝(id:feichao_java),afterCompletion");
            }
        });
    }

}

图解源码 | SpringBoot中拓展SpringMVC原理

图解源码

图解源码 | SpringBoot中拓展SpringMVC原理

图解源码 | SpringBoot中拓展SpringMVC原理

整个过程肥朝小声逼逼几句:

1.根据 spring.factories 上的自动配置,加载 WebMvcAutoConfiguration ,根据序号流程我们知道,最后会把所有的 WebMvcConfigurer ,都加载进名为 delegates 的数组中。我们自定义的 FeichaoMvcConfig 就是 WebMvcConfigurer 的子类。

2. WebMvcConfigurationSupportDelegatingWebMvcConfiguration 的父类。从序号流程我们知道,此时就是把第一步的 delegates 数组,遍历( WebMvcConfigurer )调用 addInterceptor 。addInterceptor这个是SpringMvc的api,从单词名字,我们也很容易知道其意图,这就是所谓的,好的代码会说话。

3.幻想无数,不如动次真格!自己对着上面的图调试一次,箭头和序号都给你标记好了,如果再有人再怎么看源码,请把这个 图解源码系列 甩给他。

写在最后

111111111111111111111111111111111111111 1 1 1111111111111111 1 1 1111111111111111111

图解源码 | SpringBoot中拓展SpringMVC原理

图解源码 | SpringBoot中拓展SpringMVC原理

图解源码 | SpringBoot中拓展SpringMVC原理


以上所述就是小编给大家介绍的《图解源码 | SpringBoot中拓展SpringMVC原理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Responsive Web Design

Responsive Web Design

Ethan Marcotte / Happy Cog / 2011-6 / USD 18.00

From mobile browsers to netbooks and tablets, users are visiting your sites from an increasing array of devices and browsers. Are your designs ready? Learn how to think beyond the desktop and craft be......一起来看看 《Responsive Web Design》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器