Spring 简述以及在 Eclipse 下创建一个 Spring 的 Java 项目

5 篇文章 0 订阅
2 篇文章 0 订阅

原创文章,转载请注明出处。

Spring 是一个开源的轻量级的 Java 框架,该框架的核心功能有 2 个:

(1)Spring 容器作为超级大工厂,负责创建、管理所有 Java 对象,这些 Java 对象被称为 Bean;

(2)Spring 容器管理容器中 Bean 之间的依赖关系,Spring 使用一种 “依赖注入” 的方式来管理 Bean 之间的关系。

对于开发者来说,使用 Spring 框架主要是做两件事:①开发 Bean;②配置 Bean。

对于 Spring 框架来说,它要做的就是根据配置文件来创建 Bean 实例,并调用 Bean 实例的方法完成“依赖注入(DI)”,这也是所谓 “控制反转(IoC)” 的本质。

Spring 不提供某种功能,它只是将所有组件部署到 Spring 中,管理、维护、执行它们。Spring 使用基本的 JavaBean 来替代 EJB,它通过 <bean> 配置来实例化 Bean,设置 Bean 的属性,以及设置 Bean 间相互的依赖性。一个 <bean> 通常需要定义 id 与 class 属性。class 属性肯定是必须的。如果配置文件中配置的其他 Bean 中引用了该 Bean,则 id 属性是必须的。Bean 则通过 id 属性相互访问。

下面我们将使用 Eclipse 创建一个简单的 Spring 的 Java 项目。不过在这之前我们得做一些准备工作,比如从官网或其他途径下载较新版本的 Spring 依赖包。从官网下载这个 Spring 依赖包的过程十分曲折。下面将演示一下在官网如何进行下载。已经下载过 spring-framework 和 commons-logging 的可直接跳过这一部分。

------------------------------------------------------------------------------------------------------------------------------------------------------------

1、打开浏览器,百度或谷歌搜索 “Spring framework”,在搜索出的页面上点击 “Spring Framework” 进入官网。


2、进入官网后,在页面右侧可以看到最近一些版本的 Spring Framework,任意点击一个版本之后的 “Reference”。笔者选择的 4.3.7 版本的。


3、进入 “reference” 页面后,找到 “Distribution Zip Files” 的字样,其实它是个超链接。建议使用 “Ctrl + F” 打开查找框,输入 “Distribution Zip Files” 在页面进行查找。


4、点击上图的 “Distribution Zip Files”,链接到如下的位置,这里可以看到给出了下载的地址。为了方便这里直接给出:各版本的下载地址


5、点击上面的地址,可以链接到一个页面,该页面上包含了所有各个版本的 Spring Framework,选择自己想要的版本点击去,比如笔者选择的是 4.3.7 版本。


6、这回就可以真正跳转到下载的页面的,点击第一个压缩包即可。


7、下载完成后对压缩包进行解压,不需要安装。然后在根目录下的 “libs” 文件夹下就可以找到许多 Spring 的依赖包了。


8、下载完 Spring 的依赖包后,我们还需要额外下载多一个包,Spring 的依赖包中不包含这个包。commons-logging 的包用于记录和管理运行时的日志信息,我们可以从 Apache Commons Logging 找到我们需要的包进行下载。这里下载的是 commons-logging-1.2。


至此,我们就下载好了所有的依赖包,也就完成了准备工作。

------------------------------------------------------------------------------------------------------------------------------------------------------------

接下来我们将正式开始创建 Spring 项目。

1、首先一个 Java 项目,项目名命名为 “SpringStudy”。然后在项目文件夹下新建一个 “lib” 文件夹,将几个 Spring 常用的依赖包和 commons-logging-1.2 的包拷贝到该文件夹下面。并且


2、然后在项目名上右键 Build path > Configure Build Path,在 libiraries 视图下点击 add JARs,在弹出的窗口中选择刚才拷贝进 lib 文件夹下的依赖包。然后依次点击 “OK” > "Apply" > "OK",就可以把这些依赖的包添加进来了。


3、在项目文件夹的 src 文件夹下新建一个 interface 文件,用来声明一个接口,给其他类来实现这个接口及其中的抽象方法。报名命名为 “com.springstudy.spring”,接口文件名命名为 “HelloWorld”。这个接口中声明了一个 sayHello() 的方法。

package com.springstudy.spring;

public interface HelloWorld {
	public String sayHello();
}
4、在上面创建的包下,新建一个 class 文件,命名为 “HelloChinaImpl”,用来实现上面定义的 HelloWorld 接口,并且实现该接口的 sayHello() 方法。在这里我们想要做的是输出 “Hello China!” 。

package com.springstudy.spring;

public class HelloChinaImpl implements HelloWorld {

	@Override
	public String sayHello() {
		String str = "Hello China!";
		return str;
	}

}
5、同样在那个包下,新建一个class 文件,命名为 “HelloUSAImpl”,用来实现上面定义的 HelloWorld 接口,并且实现该接口的 sayHello() 接口。在这里我们想要做的是输出 “Hello USA!” 。

package com.springstudy.spring;

public class HelloUSAImpl implements HelloWorld {

	@Override
	public String sayHello() {
		String str = "Hello USA!";
		return str;
	}

}
6、接着新建一个 “Person” 类,用来完成说话的动作。也就是人根据所在的“位置”,比如“人在中国”或者“人在美国”,从而相应地输出 “Hello China!” 和 “Hello USA!”。而这个“位置”,则是由配置文件中来配置和决定的,我们稍后会讲到这个配置文件。

package com.springstudy.spring;

public class Person implements HelloWorld {

	private HelloWorld hello;
	
	public HelloWorld getHello() {
		return hello;
	}

	public void setHello(HelloWorld hello) {
		this.hello = hello;
	}

	@Override
	public String sayHello() {
		String str = hello.sayHello();
		return str;
	}

}
7、然后在 src 文件夹下新建一个包,命名为 “springXML”,然后在该包下新建一个文件,命名为 “applicationContext.xml”,在该文件中定义好一个 “HelloChinaImpl” 对象的 Bean 和一个 “HelloUSAImpl” 对象的 Bean。然后再定义好一个 “Person” 类的 Bean。这个 “person” 依赖于 “hellochina” Bean 或 “hellousa” Bean。依赖于哪一个,就可以形象地将其“位置”设置为哪个。比如依赖于 “hellochina” Bean,相当于将 “HelloChinaImpl” 对象赋给 Person 类中的接口 “hello”,然后调用它的 sayHello() 方法输出 “Hello China!” 。

<?xml version="1.0" encoding="UTF-8" ?>   
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
     xmlns="http://www.springframework.org/schema/beans"  
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
     
  <bean id="hellochina" class="com.springstudy.spring.HelloChinaImpl"></bean>
  <bean id="hellousa" class="com.springstudy.spring.HelloUSAImpl"></bean>

  <bean id="person" class="com.springstudy.spring.Person">
  	<property name="hello" ref="hellochina"></property>
  </bean>
  
</beans> 
8、最后回到 “com.springstudy.spring” 包下,创建一个 “Main.java” 文件,用来完成配置文件的读取和操作。首先根据配置文件所在的相对路径获取到配置文件,然后使用 getBean() 方法获取其中的 “person” 对象,并使用它调用 sayHello() 方法。由于在上面的配置文件中,我们将 <ref> 指向了 “hellochina” 对象,所以会调用到 HelloChinaImpl 类的对象的方法,输出 “Hello China!” 。同样地,倘若在上面的配置文件中,我们将 <ref> 指向了 “hellousa” 对象,所以会调用到 HelloUSAImpl 类的对象的方法,输出 “Hello USA!” 。

package com.springstudy.spring;

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

public class Main {

	public static void main(String[] args) {
		ApplicationContext aContext = new ClassPathXmlApplicationContext("/springXML/applicationContext.xml");
		Person person = aContext.getBean("person", Person.class);
		System.out.println(person.sayHello());
	}

}
9、输出结果如下:


至此,我们已经使用 Spring 完成了一个简单的 Java 项目了。



  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值