Spring
Spring:说到Spring,想必大家都已经是耳熟能详了,Spring是一个大家族,他的旗下有一系列我们正在使用的通用框架,如Spring Framework、Spring Boot、Spring Cloud、Spring Data等等,而今天我们所讲的正是他的核心基础框架Spring Framework。
源码解析:常见方式eclipse中通过安装反编译工具或通过IDEA自带的反编译工具去查看源码(注:反编译的源码与真实的源码可能存在差异),当然我们也可以自己去下载Spring的真实源码来看(GitHub)。
Spring Framework源码编译
1.GitHub搜索Spring Framework,并下载源码(此处不做详解):
2.IDEA导入:Spring基于gradle管理项目,IDEA可以直接导入项目,项目下载到本地后File->Open
最后idea会自动编译spring源码,编译成功以后,所有的模块都会有个小小的蓝色图标,表示编译成功,至此spring源码导入完成。
常见问题
Gradle下载速度慢?(默认的可能卡几小时)
解决方案-使用国内镜像进行加速(类似于maven)
找到C盘User下的.gradle文件夹,我的目录C:\Users\Administrator.gradle,新建init.gradle文件
def repoConfig = {
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.contains('repo1.maven.org/maven2') ||
url.contains('jcenter.bintray.com') ||
url.contains('maven.google.com') ||
url.contains('plugins.gradle.org/m2') ||
url.contains('repo.spring.io/libs-milestone') ||
url.contains('repo.spring.io/plugins-release') ||
url.contains('repo.grails.org/grails/core') ||
url.contains('repository.apache.org/snapshots')) {
println "gradle init: (${repo.name}: ${repo.url}) removed"
remove repo
}
}
}
maven { url "https://maven.aliyun.com/repository/public" }
maven { url "https://maven.aliyun.com/repository/google" }
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
maven { url "https://maven.aliyun.com/repository/spring" }
maven { url "https://maven.aliyun.com/repository/spring-plugin" }
maven { url "https://maven.aliyun.com/repository/grails-core" }
maven { url "https://maven.aliyun.com/repository/apache-snapshots" }
}
allprojects {
buildscript {
repositories repoConfig
}
repositories repoConfig
}
保存后重新编译,会发现速度快很多