第一时间获取技术干货和业界资讯!
在面试过程中,很多面试官都会或多或少的问你,有没有看过源码?
如果你回答,没有!那就换其他问题。但是如果你工作时间比较长了,比如 3 年了。但你还没有看过一些框架的源码,那么很可能你就被 pass 掉了。
面对这种情况,你该怎么办?
必须的先看几套啊。唬住了就 50K,唬不住就只能 5K 了。
那么看几套,行啊,我也看了,但是看不懂啊,无存下手。哎,那么这个时候,我推荐你先从 SpringBoot 的源码开始看起。为什么呢?原因有以下 3 点:
所以,为了高薪。我们就要卧薪尝胆。
主流程不复杂?嗯,真不复杂,不行我给你简单的解释一下。
第一步,从 @SpringBootApplication 开始。
第二步,看 @SpringBootApplication 注解类。
第三步,看 @EnableAutoConfiguration 注解类。
第四步,看 EnableAutoConfigurationImportSelector 类。
第五步,看 AutoConfigurationImportSelector 类中的 selectImports 和 getCandidateConfigurations 方法。
第六步,SpringFactoriesLoader 类的 loadFactoryNames 方法。
重点看这个 FACTORIES_RESOURCE_LOCATION 。
以 spring-boot-autoconfigure-1.5.13.RELEASE.jar 为例,看下它的 META-INF/spring.factories 文件。
到此整个 SpringBoot 的自动配置,自动加载主流程源码已经看完了。
整个过程,总结一下就是你把你的组件的全类名给我,我帮你初始化你给我的这些 bean。
这个过程我在啰嗦一下,流程如下:
最后,整理了一张图。送给大家!
自己放大了,慢慢看。SpringBoot 的自动配置和原理就是这么简单,所以,我推荐你先把它看明白了。让本该造火箭的你,不再拧螺丝!后面的有 SpringMVC 和 SpringBoot 的脑图,预计下周画好分享出来!