首先我们要先取得Spring的相关档案,Spring的档案放在SourceForge上,网址是:
http://sourceforge.net/project/showfiles.php?group_id=73357
撰写此文时,Spring最新的版本是1.1.1,有两个下载版本,一个是spring-framework-1.1.1-with- dependencies.zip,一个是spring-framework-1.1.1.zip,with-dependencies的包括一些 ant、jakarta-commons、struts、velocity等等其它开源Java项目的相依档案,如果您也需要这些相关档案,可以下载这个 版本,如果您已经有这些相关档案,则只需要下载spring-framework-1.1.1.zip这个档案。
下载zip档案并解压缩之后,在dist目录下就是使用Spring所需要的相关档案,如果下载的是with-dependencies版本,则在 lib目录中的是您可能会用到的相依档案。在dist目录下,spring-core.jar是Spring的核心,对于撰写简单的单机程序来说,使用这个核心即可,如果日后需要使用到Spring其它的子框架支持,再将其它的jar档案加入即可,例如spring-aop.jar、spring- webmvc.jar等等。您也可以直接使用spring.jar这个档案,它包括了所有Spring支持的功能所需要的所有类别,而不再需要加入个别的 jar档案。
就我们的第一个Spring程序,只要spring-core.jar这个档案即可,它唯一相依的其它项目档案,是commons- logging.jar,您可以在lib目录的jakarta-commons目录中找到,将这两个档案的位置加入至CLASSPATH中,我们就可以开始撰写第一个Spring程序。
来撰写我们的第一个组件(component),它只是一个简单的JavaBean,用来向新的使用者打招呼:
HelloBean.java
package onlyfun.caterpillar;
public class HelloBean {
private String helloWord = "Hello!World!";
public void setHelloWord(String helloWord) {
this.helloWord = helloWord;
}
public String getHelloWord() {
return helloWord;
}
}
HelloBean有预设的"Hello!World!"字符串,我们也可以透过setter来设定新的招呼语,不过我们不亲自撰写程序来作这些事,而是在组态档案定义,由Spring来为我们作设定的动作,我们撰写bean.xml:
bean.xml
<?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="helloBean" class="onlyfun.caterpillar.HelloBean">
<property name="helloWord"><value>Hello!Justin!</value></property>
</bean>
</beans>
bean.xml中定义了JavaBean的别名与来源类别,<property>标签中设定了我们希望注入至JavaBean的字符串值, bean.xml必须在您的CLASSPATH可以存取到的目录中,也许是现行的工作目录,在Web程序中可以是在classes目录下,我们这边使用的是单机程序的方式,将使用FileInputStream读取bean.xml,所以将之置于现行的工作目录中,接着我们撰写一个简单的测试程序:
SpringTest.java
package onlyfun.caterpillar;
import java.io.*;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class SpringTest {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("bean.xml");
BeanFactory factory = new XmlBeanFactory(is);
HelloBean hello = (HelloBean) factory.getBean("helloBean");
System.out.println(hello.getHelloWord());
}
}
这是从比较低层次的角度来使用Spring的IoC容器功能,藉由BeanFactory来读取组态档案并完成依赖的关联注入,这边的依赖是什么?指的 是 HelloBean相依于String对象,透过setter所保留的接口,我们使用setter injection来完成这个依赖注入,而不是将招呼语写死在HelloBean,BeanFactory是整个Spring的重点所在,整个 Spring的核心都围绕着它,在这边使用的是XmlBeanFactory,负责读取XML组态档案,当然我们也可以使用properties档案,这 之后会再介绍。
BeanFactory读取Bean的组态设定并完成关系维护之后,我们可以藉由getBean()方法并指定Bean的别名来取得实例,来看看实际运行之后的效果:
2004/10/21 上午 10:28:00 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from resource for InputStream
2004/10/21 上午 10:28:00 org.springframework.beans.factory.support.AbstractBeanFactory getBean
信息: Creating shared instance of singleton bean 'helloBean'
Hello!Justin!
如果今天您要想改变招呼语,则只要更改bean.xml就可以了,不用修改主要的程序,从比较一般的角度来看,就意味着如果您想要改变一些对象之间的依赖关系,则只要修改组态档即可,而不用修改组件的任何一行程序。
相关推荐
标题 "第一个spring程序" 暗示我们即将探讨的是如何创建和运行一个基本的Spring框架应用。Spring是Java开发中最广泛使用的开源框架,它提供了一个全面的编程和配置模型,旨在简化企业级应用的开发。 在Java世界里,...
首先,让我们来看看如何创建第一个Spring程序。 1. **环境准备**:你需要安装JDK 5或更高版本,然后配置好Java环境变量。同时,确保你的项目构建工具(如Maven或Gradle)中包含了Spring的相关依赖。 2. **创建Bean...
我的第一个Spring程序 Environment: [1]JDK 1.7.x [2]Eclipse-jee-mars-2-win32 [3]Tomcat7 [4]Spring 3.1.0 [5]Maven 3.3.9
**Spring MVC —— 第一个应用程序** Spring MVC 是 Spring 框架的一个模块,主要用于构建 Web 应用程序。它提供了一种模型-视图-控制器(MVC)架构,简化了开发过程,使得开发者可以专注于业务逻辑而不必过于关心...
IoC从宏观层面来看,意味着应用程序不再直接控制对象的生命周期和装配,而是由Spring容器来控制。而DI则是从微观层面来看,具体指Spring容器如何将依赖的对象注入到需要它们的类中。 DI的实现通常通过构造函数注入...
在本文中,我们将深入探讨如何使用Spring框架进行开发,特别是基于Spring3的第一个程序。Spring是一个极其流行的Java企业级应用框架,它提供了丰富的功能,包括依赖注入(DI)、面向切面编程(AOP)、数据访问、事务...
在这个"第一个spring例子"中,我们将探讨如何创建一个简单的Spring应用,它包含了client和server两部分,这通常意味着我们将构建一个客户端-服务器架构的应用。为了运行此示例,你需要安装MySQL数据库服务和Apache ...
#### 第一个Spring程序示例 在培训笔记中提到了一个简单的Spring程序示例,这个示例展示了如何定义一个Bean,并通过Spring容器来获取该Bean的实例。在`beans.xml`文件中,定义了一个名为`hello`的Bean,其类名为`...
标题中的"第一个spring所以到的jar包"指的是一个包含了Spring框架最基本功能的最小化jar包集合。这个压缩包文件,根据描述,仅包含7个jar包,尽管精简,但在Eclipse这样的集成开发环境中,已经足够支持运行一个基础...
Spring程序设计是一个深入探讨Spring框架核心技术和应用的专题。Spring是一个由Rod Johnson创建的开源框架,旨在简化企业级应用开发的复杂性。它的主要目的是替代Enterprise JavaBeans (EJB),并提供更多的企业应用...
在本教程中,我们将详细讲解如何编写第一个 Spring MVC 程序,涵盖其核心概念、配置以及实现过程。 1. **Spring MVC 概述** Spring MVC 为 Web 开发提供了模型-视图-控制器(MVC)架构模式,它简化了业务逻辑与...
在本篇中,我们将探索如何创建并运行你的第一个 Spring Boot 应用程序。 1. **快速入门:创建项目** 要开始一个 Spring Boot 项目,你可以使用 Spring Initializr(https://start.spring.io/)。这是一个在线工具...
在这个“第一个springboot程序_详细版”中,我们将深入探讨如何创建并运行一个基本的SpringBoot应用。 首先,创建SpringBoot项目通常需要以下步骤: 1. **设置环境**:确保你已经安装了Java Development Kit (JDK)...
本教程旨在引导初学者如何入门Spring框架,通过开发第一个Spring程序,逐步了解Spring的核心概念。 首先,我们要进行Spring设计环境的准备工作。这包括以下步骤: 1. 下载并解压Spring框架的压缩包,例如这里使用...
综上所述,Spring入门涉及到的概念和知识点十分丰富,包括核心概念如IoC和AOP的深入理解,搭建开发环境,学习Spring框架结构,编写和运行第一个Spring程序,掌握IoC容器的使用,了解Bean的生命周期和配置细节,以及...
开发你的第一个Spring Boot应用程序
在"spring第一个例子"中,我们将创建一个简单的Spring应用程序。这个例子通常包括以下步骤: 1. **配置Spring**:首先,我们需要创建一个Spring的配置文件,例如`applicationContext.xml`。在这个文件中,我们会...
"spring第一个学习的例子"旨在帮助初学者快速入门Spring框架,通过实际操作理解其基本概念和工作原理。 首先,Spring的核心特性之一是依赖注入(Dependency Injection,简称DI)。这个例子可能包含了如何在配置文件...
"第一个SpringBoot程序"通常指的是创建一个基本的SpringBoot项目,用于理解和熟悉其工作原理和核心特性。 首先,让我们深入了解SpringBoot的核心概念: 1. **起步依赖(Starter Dependency)**:SpringBoot通过...
### Spring MVC 第一个入门程序详解 #### 一、前言:为什么选择Spring MVC? 随着互联网技术的飞速发展,Web应用程序的需求日益增加。为了更好地管理Web应用中的业务逻辑与数据展示,模型-视图-控制器(Model-View...