下载spring项目到本机
有很多方法
- 从spring官网下载源码到本机,然后解压放到指定目录
- 通过eclipse的git插件下载
- 直接通过本机安装的git软件下载
总之下载源码和编译源码的方式的各种各样,在这我就使用我自己的方式下载构建。
直接通过本机安装的git软件下载源码构建好之后导入eclipse
1.本地git的安装(安装过程很容易的,可以自行百度)
2.到Spring的GitHub上去
https://github.com/spring-projects/spring-framework/
,选择自己需要的版本
3.在自己喜欢的盘下建立目录(用于存放Spring源码)
4.copy Spring源码的下载地址
5.在git窗口中,通过命令下载源码
git clone https://github.com/spring-projects/spring-framework.git
下载完之后我们可以进去SpringFramework的目录看看Spring源码的的分布
6.然后我们看看git的分支,如果是master的就修改其他的标签,因为master在编译构建的时候可能有些依赖包下载不下来,虽然使用其他标签的,但还是一样的。
git branch
7.查看tag分支的全部标签
git tag
7.
切换到对应分支(v4.3.8.RELEASE这个是上一步查询出来的标签)
#切换到对应分支
git checkout -b v4.3.8 v4.3.8.RELEASE
然后在查看其是否切换到其他分支了
利用gradle编译srping源码
Jdk版本很重要,一定要jdk1.8,其他版本的jdk,执行gradle会报jdk版本的异常
如果是使用eclipse的我们直接运行Spring源码中import-into-eclipse.bat文件就可以了,他会自动给我们下载相对应的gradle的版本了
不过这里有一点gradle下载的依赖包默认是在C:\Users\85133\.gradle文件下的,如果你想手动控制其下载依赖包的位置可以在环境变量中修改。这样子下载依赖就是生成到指定的目录下的,如图所示配置:
然后就等gradle批处理编译构建好之后我们就可以把项目导入eclipse中了。
此时进入
spring-beans
目录中,可以看到生成了eclipse的项目配置文件.classpath和.project(其他目录也是一样的,因为我们使用Spring源码中import-into-eclipse.bat这个批处理的)
注意:
如果是 idea 需要手动去下载组件
https://gradle.org/releases/
下载
2.11
版(这个版本要和源码对应着,要不然会出问题)
配置
gradlew
环镜变量
idea
选择已Gradle 方式导入, 配置
Gradle home
路径完成导入
导入编译后的项目到Eclipse中
导入自己需要的项目(导入项目不用多说吧)
到此Spring源码的下载和编译就OK啦
测试导入eclipse中的源代码是否起作用
1.我们可以建一个很简略的maven项目(pom文件没有依赖SpringFamework依赖包)
2.而是直接依赖我们导入eclipse的SpringFamework的项目工程
3.在src/main/resources下建立Spring的配置文件beans.xml这个也很简陋,只有一个bean
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean class="com.cym.service.impl.PersonServiceImpl"/>
</beans>
3.建立一个PersonService接口和PersonService接口的实现类PersonServiceImpl
4.建立一个测试类
5.运行测试
到此结束了。