Spring Boot 2.0.2-webmvc源码分析前言

Spring Boot相信很多做开发的朋友在工作中都使用过,即使你之前没有接触过Spring Boot但是了解一般web项目开发规范,稍微学习一下很快就能上手,所以经常听周围的朋友这样说,Spring Boot的确给我们开发带来了很大的便利,便利的原因是它把很多模块进行了封装,类似项目的脚手架,很大程度上简化了项目的开发,上手起来非常容易,但是如果想深入了解Spring Boot的工作原理,还是需要花费大量的时间和精力去阅读源码及实践验证。

我们项目中也使用了Spring Boot 2.0.2,平时一般都是业务功能模块的开发,基本上没有去更深层次的去研究学习源码。仅仅停留在一般的使用阶段。如果一直处在简单使用这个阶段,那么即使做再多的功能模块,全都是一样的套路,对自己技术能力的提升没有一点帮助。所以如果想在技术这条路走下去,肯定是需要花费时间和精力去对一些优秀框架进行深入学习。相信很多朋友的情况基本都是这样,平时上班工作上事情比较多,根本没有时间去了解学习框架的底层运行原理,大部分都以功能的快速实现为目标。所以我一般是利用周末时间去学习,有工作中用到的技术,也涉及一些工作中没有使用到的技术。Spring Boot中webmvc模块在web项目中处于非常核心的位置,平时工作中接触也非常多,我觉得非常有必要对这个模块的运行原理进行了解和学习,所以决定花时间去学习一下这个模块的源码。

先简单说一下阅读框架源码的好处:

1、通过对源码的学习,我们可以更深入地了解框架运行的原理,对框架使用过程中如果出现问题,也知道怎么去排查问题。

2、同时阅读源码,我们可以学习到那些优秀工程师代码结构、编码规范及设计模式的具体应用。然后把一些好的设计理念及规范应用到自己的项目中去。

3、如果对框架有深入的研究,对开阔自己视野也有很大帮助,在框架某些功能不满足需求时,还可以进行定制开发。

4、阅读框架源码非常有助于技术能力的提高,经常阅读优秀的框架源码,编程思维也会潜移默化的得到提升。

本篇内容先介绍到这里,下一篇开始webmvc模块源码的学习。

/**
     * Template method which can be overridden to add servlet-specific refresh work.
     * Called after successful context refresh.
     * 

This implementation is empty. * @param context the current WebApplicationContext * @see #refresh() */ protected void onRefresh(ApplicationContext context) { // For subclasses: do nothing by default. }

/**
     * Initialize the strategy objects that this servlet uses.
     * 

May be overridden in subclasses in order to initialize further strategy objects. */ protected void initStrategies(ApplicationContext context) { initMultipartResolver(context); initLocaleResolver(context); initThemeResolver(context); initHandlerMappings(context); initHandlerAdapters(context); initHandlerExceptionResolvers(context); initRequestToViewNameTranslator(context); initViewResolvers(context); initFlashMapManager(context); }

你可能感兴趣的:(Spring Boot 2.0.2-webmvc源码分析前言)