文档章节

一步一步spring源码学习--环境搭建

 农村蜗牛
发布于 2016/08/01 17:34
字数 530
阅读 54
收藏 0

    最近闲来无事,技术总感觉卡住,无法进行突破。大家都说,编程学习的最好方式就是学习及借鉴别人的经验,因为有了想学习源码的冲动,希望借此让自己技术上更上一层。而Spring在java体系中算应用比较广泛的一个开源框架了,因此第一个源码阅读打算从Spring开始,并记录其中的点滴来加深对其的理解。

    本人纯技术,文笔不是很好,如果其中理解有误欢迎大家指正。

    言归正传,学习源码的第一步当然是先把源码环境搭建好.我使用的环境为idea2016+windows7。

    第一步,下载Spring源码:Spring源码已经移到到了github,先最新版为5.0.0.M1,最新发布版本为v4.3.2.RELEASE,本文中采用v4.3.0.RELEASE,源码地址为:

    https://github.com/spring-projects/spring-framework/releases/tag/v4.3.0.RELEASE,直接下载zip包并解压到你指定的目录。

    第二步,构建spring源码,spring已经使用gradle进行项目依赖管理,大家可能下载gradle进行配置来构建,gradle大家度娘下。

    第三步,导入源码到idea中,直接open解压的目标,选择use default gradle wrapper,这个过程因为需要下载依赖,所以时间会比较长。

 

Spring源码比较大,采用模块化的管理方式,Spring整体架构图如下:

 

图1.1Spring运行时架构

最底层的是Test框架,用于对Spring框架进行测试的,紧接其上的是Core Container(核心容器),是Spring框架中的基础,提供了IOC和DI的功能及其它的一些附加功能,我们先成最核心的Core,Beans模块入门,所以我只导入了spring-beans与spring-core两个模块,编译,没报错,OK,环境准备成功。

下一节,将讲解最基础的IOC容器开始,一步一步的进行Spring IOC的源码研究。初次写笔记,不好之处请大家多多指点,谢谢!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

粉丝 0
博文 2
码字总数 1404
作品 0
深圳
程序员
私信 提问
Spring Cloud云服务架构 - commonservice-eureka 项目过程构建

我们针对于HongHu cloud的eureka项目做以下构建,整个构建的过程很简单,我会将每一步都构建过程记录下来,希望可以帮助到大家: 1. 创建一个名为particle-common-eureka的maven项目,继承p...

明理萝
2018/06/12
0
0
Java代码审计 Spring框架思路篇

  Java的WEB框架是Java进阶课程,当要进行Spring的漏洞分析,要有一定的Java代码知识储备。   Java后端标准的学习路线:JavaSE->JavaEE->Java Web框架         Spring是Java最核心,...

FreeBuf
2018/08/15
0
0
[SpringBoot+VueJs] 1. 环境搭建

最近在工作期间,搭建了一个专项测试平台。其中用到的一些web开发技能。这里想记录下。准备来逐步介绍用到的框架,及开源插件。 设想的目录如下: 环境搭建 后端 2.1 数据库设计 2.2 SpringBo...

professorLea
2017/07/07
0
0
JAVA springboot微服务b2b2c电子商务系统-eureka 项目构建过程(八)

我们针对于HongHu cloud的eureka项目做以下构建,整个构建的过程很简单,我会将每一步都构建过程记录下来,希望可以帮助到大家: 1. 创建一个名为particle-common-eureka的maven项目,继承p...

01/29
0
0
一步一步教你用shiro——1引入shiro框架

一步一步教你用shiro——1引入shiro框架 一步一步教你用shiro——2配置并自定义realm 一步一步教你用shiro——3配置并自定义sessionManager 一步一步教你用shiro——4配置并自定义sessionDa...

肥肥小浣熊
2018/04/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spark Streaming的优化之路——从Receiver到Direct模式

          作者:个推数据研发工程师 学长 1 业务背景 随着大数据的快速发展,业务场景越来越复杂,离线式的批处理框架MapReduce已经不能满足业务,大量的场景需要实时的数据处理结果来...

个推
47分钟前
2
0
壮丽70年·奋斗新时代|蒸妙集团熏蒸中会阴熏蒸的神奇好处

聚结相合之处为会。会阴居两阴间,为督、任、冲三脉的起点,三脉背出两阴之间,会聚阴部,因名会阴。会阴,经穴名。出《针灸甲乙经》。会阴别名屏翳、下极、金门。属任脉。在会阴部,男性当阴...

公益传承
56分钟前
2
0
pentaho-kettle-8.2.0.0-R源码开发环境搭建

1.从Kettle官网下载源码,本文使用的是pentaho-kettle-8.2.0.0-R 下载地址:https://codeload.github.com/pentaho/pentaho-kettle/zip/8.2.0.0-R 2.打开eclipse,选择一个新的工作空间,然后设...

gq_2010
今天
1
0
lua web快速开发指南(7) - 高效的接口调用 - httpc库

httpc库基于cf框架都内部实现的socket编写的http client库. httpc库内置SSL支持, 在不使用代理的情况下就可以请求第三方接口. httpc支持header、args、body、timeout请求设置, 完美支持各种h...

水果糖的小铺子
今天
5
0
通过四道常问面试题,带你了解什么是数据库分库分表

编者语:为了避免被误解为:「手里有把锤子,看什么都是钉子!」,说明一下不是什么业务都适合分布式数据库,更不是用了分布式数据库性能就一定能得到扩展。 其次:本文为纯干货,建议先转发...

老道士
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部