Spring和Spring Boot2.0源码阅读环境搭建和结构

一:Spring

第一步:安装git和gradle,以及Java8,并配置环境变量。

 

第二步:打开gitbash,cd到你要放置spring源码工程的目录,输入:git clone https://github.com/spring-projects/spring-framework.git 等待下载完毕。

或者下载指定的release版本解压缩。

 

第三步:预编译spring-oxm模块。官网说:Pre-compile spring-oxm with ./gradlew cleanIdea :spring-oxm:compileTestJava,即打开cmd,切换到spring-framework工程目录下,运行:gradlew cleanIdea :spring-oxm:compileTestJava

 

第四步:开始导入工程,File->import project->选中spring-framework工程->import from external model->Gradle->finish经过一段时间项目导入成功

 

第五步:设置project sdk为1.8,右键project->open module settings->sdks->点+号新建jdk1.8,找到jdk1.8的路径,再选中project选项卡,设置project sdk为1.8

 

第六步:再创建一个简单的spring-web项目模板,和spring其它模块放一起,通过main方法打断点进行源码鉴赏。

 

二:Spring Boot

(1)github下载release版本源码或git clone相应的版本,地址:https://github.com/spring-projects/spring-boot

(2)cmd进入源码目录,运行:mvnw.cmd clean install -DskipTests -Pfast

 《Spring和Spring Boot2.0源码阅读环境搭建和结构》

其中spring-boot-gradle-plugin项目使用jdk9,没装JDK9可以暂时先屏蔽

(3)idea 导入项目

(4)最外层的pom中可能有如下问题:

${disable.checks} 识别不了,可以注释掉相应的plugin

(5)spring-boot-project目录下创建一个springboot项目模块,通过打断点进行鉴赏。

三:Spring Boot2.0 代码结构

结构分析:

Spring-boot-project 核心代码,代码量很多(197508 行)
Spring-boot-samples 一些样例 demo,代码量不多(9685 行),蛮有用的
Spring-boot-samples-invoker 里面无代码
Spring-boot-tests 测试代码(1640 行)

spring-boot-project

Spring-boot-project 下面有很多模块,如下:

《Spring和Spring Boot2.0源码阅读环境搭建和结构》

Spirng-boot

《Spring和Spring Boot2.0源码阅读环境搭建和结构》

该模块 47760 行代码(含测试代码),Spring boot 主要的库,提供了支持 Spring Boot 其他部分的功能,其中包括了:

在SpringApplication类,提供静态便捷方法,可以很容易写一个独立的 Spring 应用程序。它唯一的工作就是创造并更新一个合适的 SpringApplicationContext
带有可选容器的嵌入式 Web 应用程序(Tomcat,Jetty 或 Undertow)
一流的外部配置支持
便捷ApplicationContext初始化程序,包括对敏感日志记录默认值的支持

 

    原文作者:Spring Boot
    原文地址: https://blog.csdn.net/mozf881/article/details/84404721
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞