第一,什么是spring
其实spring是一个公司,而spring公司旗下有很多产品:spring framework,spring boot,spring cloud等等还有续许多产品,如图:
而spring framework是spring公司旗下非常重要的一个主流项目,面试官会问你谈一谈spring,有人上来就说spring就是由ioc和aop两大核心组成,其实ioc和aop只是spring公司旗下的spring framework项目很小的一部分。spring旗下有很多产品。为什么知道,因为我去看过官方文档:https://spring.io/projects,其中springfamework中下面的描述:涉及到了IOC和DI,面试官最喜欢问的是什么是IOC,什么是DI,DI和IOC有什么区别?还有web apps其实就是我们的springmvc,它就包含在spring framework里面,我们点进spring framework它有哪些模块哪些核心特点:
为什么要讲这些,是希望大家知道,我们spring源码学的具体是哪个,其实所学的是spring下的spring framework的源码?
第二,怎么学spring源码
首先学习源码的第一件事
看源码,先得要有应用,我们得先建立一个spring项目,那么我加了spring的依赖如图:
那么怎么开始我源码的一个旅程呢?很简单先建立一个类,开启我们对spring的一个应用,首先第一步得初始化spring的init:
在这个AnnotationConfigAppl