eclipse 搭建Spring源码环境

时间:2022-09-18 15:22:59

eclipse 搭建Spring源码环境

很久没有接触Spring了,想着看下Spring的源码,就有了这篇博文。虽然相当简单,但还是想记录下。

准备工作

1、spring jar包,下载地址:http://repo.spring.io/release/org/springframework/spring/

2、eclipse

1、使用eclipse搭建一个简单的关于Spring的Demo。

第一步:打开eclipse,新建一个dynamic web project 。名字任意,这里取名为:SpringDemo02.

eclipse 搭建Spring源码环境

点击“finish”即可。

第二步:右键项目名称—-》属性。

点击“add library”—->”user Library”

eclipse 搭建Spring源码环境

随便取一个名字来存放Spring相关的lib,这里取名为SpringLib2.

eclipse 搭建Spring源码环境

第三步:点击“Add External JARS”,添加我们在这里(http://repo.spring.io/release/org/springframework/spring/)下载下来并解压缩后的文件夹Spring/libs文件夹下的jar包。如果我们不清楚把什么jar包加进去,就全部加进去哈。

eclipse 搭建Spring源码环境

注意:这里还需要添加一个包:commons-logging-1.2.jar项目中是没有的,它是Apache的日志管理工具,spring为了所有的java应用程序进行统一的日志接口管理,所以需要下载commons-logging.jar这个包,下载地址是如下:

http://commons.apache.org/proper/commons-logging/index.html

进入后点击Download下载就行,然后和spring的包一起导入即可。

最后工程的目录如下:
eclipse 搭建Spring源码环境

第四步:包都导入完毕了,接下来实现一个很简单的功能

我们建立一个接口和两个实现类,实现的就是输出一句话,代码如下:

package module;

public interface IHelloMessage {
public String sayHello();
}

package module;

public class HelloJava implements IHelloMessage{

@Override
public String sayHello() {
System.out.println("hello java");
return "java";
}

}


package module;

public class HelloPython implements IHelloMessage{

@Override
public String sayHello() {
System.out.println("hello python");
return "python";
}

}

按照一般的使用,我们会分别实例化HelloJava和HelloPython来调用里面的方法使用,或者利用多态的概念通过接口来统一实例化对象使用里面的方法,其实有了spring就不用了,我们现在建立一个实体的类,用来放置接口实例化出的对象。

代码如下:

package module;

public class Person {
private IHelloMessage helloMessage;
public Person(){}
public IHelloMessage getHelloMessage() {
return helloMessage;
}
public void setHelloMessage(IHelloMessage helloMessage) {
this.helloMessage = helloMessage;
}
public Person(IHelloMessage helloMessage) {
super();
this.helloMessage = helloMessage;
}
public String sayHello(){

return this.helloMessage.sayHello();
}
}

一般的规范就是属性私有,并且设置get/set方法,分别有无参的和带参的构造方法,方便使用构造器进行对象的注入,然后我们在项目src目录下编写一个配置文件bean.xml,就是这个核心的配置文件,交代了spring应该怎么样对容器中的对象进行管理,所以说这个xml配置文档是spring的最重要的部分之一,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

<bean id="helloJava" class="module.HelloJava"></bean>

<bean id="helloPython" class="module.HelloPython"></bean>

<bean id="person" class="module.Person">
<!-- 配置依赖关系 控制反转 get/set方法注入 -->
<!-- <property name="helloMessage" ref="helloPython"></property> -->

<!-- 构造器注入 -->
<constructor-arg ref="helloPython" />
</bean>

</beans>

测试类,内容如下:

package test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import module.Person;

public class TestSpringDemo {
public static void main(String[]args){
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");//读取bean.xml中的内容

Person person =ctx.getBean("person",Person.class);//创建bean的引用对象
String s = person.sayHello();
System.out.println(s);
}
}

以上,就完成了所有的工作,然后点击运行即可。
eclipse 搭建Spring源码环境

最后,由于我们想看Spring源码,具体步骤如下:

1、右键项目名—>属性

eclipse 搭建Spring源码环境

2、点击“edit”,在External location中制定相对应的XXX-sources.jar即可。例如:spring-beans-4.3.5.RELEASE-sources.jar

eclipse 搭建Spring源码环境

就这样,我们就实现了在eclipse中跟踪Spring的源码了。

eclipse 搭建Spring源码环境

参考资料

http://www.cnblogs.com/xing901022/p/4178963.html

http://www.cnblogs.com/freeweb/p/5100131.html