最近在学习spring源码,随着学习的深入,在感叹spring的强大的同时,也觉得学的越多,好像不明白的地方越多,因此决定开始写博客,以此用来记录学习的过程。
很多人平时工作学习中可能也会零零散散的看过一些spring的源码,但是都是在自己的项目中,看过spring的jar包中的class或者source。从今天开始,我要在spring的项目中看源码、做调试。。。感觉自己要起飞了!
一、spring本地环境构建
以下环境都是基于windows 10系统搭建
- java版本:8+
- IDE:idea2019.2.3
- gradle:5.6.3
- jdk下载安装略过
- gradle下载安装:https://blog.csdn.net/zhaokai0130/article/details/81008719
- spring源码下载:https://github.com/spring-projects/spring-framework
这里啰嗦一句:建议IDE用idea最新的2019.2.3版本,spring framework选择5.1.x,由于大多数人工作中都在使用maven做构建工具,spring官方是使用gradle做构建的,不过构建工具都大同小异,简单了解一下就好了。
OK,话不多说,进入正题
选择5.1.x版本,由于下载速度问题,不直接git clone,选择下载zip包到本地,以下演示源码下载、环境构建、编译、测试的整个过程。
-
spring5.1.x源码下载
-
idea中构建spring项目
新增project-
以下一直下一步,最后编译时间比较长,应该在1小时左右,运气不好要半天,哈哈没办法,等着就好。
-
测试demo
在spring项目中新建一个module,在改moudle中新建一个测试类TestService.java
配置类如下
main方法执行如下
我们可以看到,在新创建的moudle里面的测试类加上了@component注解,经过spring容器启动后我们通过 ac.getBean(TestService.class) 这行代码成功的获得的spring容器中的对象。
至此,我们成功的完成的spring开发环境的搭建,并通过DEMO进行了验证,下面我们将开启spring的全新旅程,开始读源码啦!