笔者环境一览:
系统:windows10
ide: idea2017.3.5
gradle:4.6
1. spring-framework 5.0.x的源码下载
(推荐使用gitee:)https://gitee.com/mirrors/Spring-Framework.git
github:https://github.com/spring-projects/spring-framework.git
2. 下载gradle并配置环境
因为spring是用gradle编译的所以,需要下载gradle:gradle官网
笔者所用版本的直达链接:gradle4.6
2.1、安装配置gradle
解压gradle
2.2 配置环境变量
GRADLE_HOME
在path变量中增加:%GRADLE_HOME%\bin
配置gradlehome(可选):用来放置.rgradle文件(类似maven的仓库)
完成后用 gradle -v 命令测试是否安装成功
3. 用idea打开spring-framework
先进入spring-framework的解压目录中然后双击运行gradlew.bat
运行无报错自动退出后用idea的open方式打开项目

然后出现提示之后按照这个选择方式选择
导入后等待自动初始化,如果失败就多手动重新加载几次
3.1 在这期间Event Log中会出现:(以下出现顺序为笔者导入时的出现顺序)
- No such property: values forclass:org.gradle.api.internal.tasks.DefaultTaskDependency Possible solutions: values
Open File

解决:点击openFile打开问题所在文件后注释掉后三行
2. 缺少jar包:spring-cglib-repack-x.x.x.jar、spring-objenesis-repack-x.x.jar
解决办法:在spring的解压目录下执行下面这两个命令
gradle objenesisRepackJar
gradle cglibRepackJar
解决问题后记得 Reflush all gradle Porject哦!
4. 测试
项目右击,New->Module


当然也可以创建基于Maven的module,如下所示:

创建module子项目以后,需要添加module依赖,方便导入相关包。如下所示:

至此,可以写代码了。我们创建一个简单的java bean,并打印。
person类代码:
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Beans.xml: 注意xml文件放到Resources文件夹下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="person" class="org.wds.Person">
<property name="name" value="wangcongyang"/>
</bean>
</beans>
SpringTest.java:
public class SpringTest{
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("Beans.xml");
Person obj = (Person) context.getBean("person");
System.out.println(obj.getName());
}
}
运行结果如下所示:

至此,spring-framework 5.0.x源码环境导入成功,可以通过打断点对源代码进行调试和走读;
3350

被折叠的 条评论
为什么被折叠?



