Spring源码研究--下载-编译-导入eclipse-验证
一,环境配置
操作系统:Unbutu14.04LTS
JDK: 1.8.0_40
git: 1.9.1
gradle: 2.2.1
二,源码下载-编译-导入eclipse-验证
1,下载
使用git直接clone Spring源码到本地:git clone git://github.com/SpringSource/spring-framework.git
2,编译
编译过程,这里所谓的编译是通过gradle工具编译Spring-framework的项目文件,主要干的事情就是下载Spring各个模块依赖的jar包,这个过程一般情况下非常慢,可能是因为资源都在墙外,并且可能出现jar包很久下载不下来的情况,这时候直接ctrl+c退出编译命令后再次执行命令,对于已经下载下来的以来包不会再次下载,所以编译的过程相当与可以断线重连的效果。
①进入源码目录执行:gradle eclipse -x :eclipse (我整整花费了1上午才编译通过)
②,执行gradle install 这个具体神马作用我还不清楚,但是不执行这个命令导入①编译后的代码进eclipse后会有一堆build path error,猜想应该是将步骤1中down下来的依赖存入gradle本地仓库以便于项目查找使用相关依赖。

③,直接通过eclipse的import到入Spring-framework源码目录
groovy这个项目可能会有方法找不到,主要原因时你的eclipse没有装Groovy插件,装上后clean下项目就OK了
④,验证
写一个简单的测试项目,简单的IoC调用功能,依赖spring-context项目

a),TestSpring.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.test.bean.Lover; public class TestSpring {
/**
* @param args
*/
@SuppressWarnings("resource")
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
Lover p = ctx.getBean("lover",Lover.class);
p.info();
} }
b),Lover.java
package com.test.bean;
public class Lover {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void info(){
System.out.println("Spring is a best lover fro you~~~");
}
}
c),bean.xml
<?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-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
"> <bean id="lover" class="com.test.bean.Lover" scope="prototype"></bean> </beans>
三,总结
本文主要小结了Spring源码的下载(github),编译(gradle),导入eclipse的过程,最后简单测试了导入eclipse后的SpringIoC模块的功能。从此开启了Spring源码深入研究之路。
本文版权所有,转载请注明出处
Spring源码研究--下载-编译-导入eclipse-验证的更多相关文章
- spring源码_下载以及转入eclipse (2016-11-08)
本例spring源码版本是4.3.0的, 所以jdk需要准备1.8的(不同版本源码要求的jdk不一样) 1.8版本myeclipse10无编译环境,只有运行环境,出现点问题,下载最新版本的Eclips ...
- spring源码研究1 如何导入源码
环境 jdk8 windows8 1.下载源码 https://github.com/spring-projects/spring-framework 2.编译为eclipse项目 源码下载无法直接导 ...
- jdk1.8源码包下载并导入到开发环境下助推高质量代码(Eclipse、MyEclipse和Scala IDEA for Eclipse皆适用)(图文详解)
不多说,直接上干货! jdk1.8 源码, Linux的同学可以用的上. 由于源码JDK是前版本的超集, 所以1.4, 1.5, 1.6, 1.7都可以用的上. 其实大家安装的jdk路径下,这 ...
- Android源码批量下载及导入到Eclipse
1.去http://code.google.com/p/msysgit/downloads/list 下载Git,进行安装 2.生成批量下载脚本文件 下载批量工具CreatAutoGetSh(工具 ...
- spring源码研究2 自定义标签实现及使用
1.自定义标签实现及使用参考: http://blog.csdn.net/fighterandknight/article/details/50112701 1)创建一个需要扩展的组件 User.ja ...
- spring源码研究之IoC容器在web容器中初始化过程
转载自 http://ljbal.iteye.com/blog/497314 前段时间在公司做了一个项目,项目用了spring框架实现,WEB容器是Tomct 5,虽然说把项目做完了,但是一直对spr ...
- Spring源码研究:数据绑定
在做Spring MVC时,我们只需用@Controllor来标记Controllor的bean,再用@RequestMapping("标记")来标记需要接受请求的方法,方法中第一 ...
- 将spring源码导入到eclipse中
前置条件: 1. 正确安装jdk,并配置好JAVA_HOME.PATH.(我这里安装的是jdk1.8) 2. 正确安装好eclipse.(我的eclipse版本是: Neon Release (4.6 ...
- Spring 源码学习:day1
前言: 最近也不知道该忙些什么样的事情.便随便看看源码算了. 正文: (1) 在网上下载 Spring 的源码: 可以采用 git 方式下载 https://github.com/spring-pro ...
随机推荐
- 【排序】插入排序,C++实现
# 基本思想 每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止. # C++代码 #include<iostream> #include<vecto ...
- Java并发--Timer和TimerTask
下面内容转载自: http://blog.csdn.net/xieyuooo/article/details/8607220 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了r ...
- RNG—随机数产生器
RNG 随机数产生器 RNG g_rng(12345); /********************************************************************** ...
- 《DSP using MATLAB》示例 Example 6.11
上代码: % x = -7:7 y = OnesComplement(x, 4) 函数OnesComplement代码: function [y] = OnesComplement(x, B); % ...
- 开始学习jQuery
一 jQuery是什么? 1. jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. 2.jQuery是继prototype之后又一个 ...
- .net SMTP 发送邮件
using System.Net.Mail; public static bool SendMail(string messTo,string messBody) { MailMessage mess ...
- MTK-shot mode
enum EShotMode{ eShotMode_NormalShot, /*!< Normal Shot */ eShotMo ...
- 系列文章--ASP.NET之AJAX入门教程
ASP.NET AJAX入门系列将会写关于ASP.NET AJAX一些控件的使用方法以及基础知识,其中部分文章为原创,也有一些文章是直接翻译自官方文档,本部分内容会不断更新. 目录 ASP.NET A ...
- virtual之虚函数,虚继承
当类中包含虚函数时,则该类每个对象中在内存分配中除去数据外还包含了一个虚函数表指针(vfptr),指向虚函数表(vftable),虚函数表中存放了该类包含的虚函数的地址. 当子类通过虚继承的方式从父类 ...
- wordpress插件汉化包,和使用教程
点击下载汉化包 解压后上传到该插件的 languages 目录即可