`
mylftnt
  • 浏览: 28241 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

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

packageonlyfun.caterpillar;

publicclassHelloBean{
privateStringhelloWord="Hello!World!";

publicvoidsetHelloWord(StringhelloWord){
this.helloWord=helloWord;
}
publicStringgetHelloWord(){
returnhelloWord;
}
}
HelloBean有预设的"Hello!World!"字符串,我们也可以透过setter来设定新的招呼语,不过我们不亲自撰写程序来作这些事,而是在组态档案定义,由Spring来为我们作设定的动作,我们撰写bean.xml:

bean.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEbeansPUBLIC"-//SPRING/DTDBEAN/EN""http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<beanid="helloBean"class="onlyfun.caterpillar.HelloBean">
<propertyname="helloWord"><value>Hello!Justin!</value></property>
</bean>
</beans>

 bean.xml中定义了JavaBean的别名与来源类别,<property>标签中设定了我们希望注入至JavaBean的字符串值,bean.xml必须在您的CLASSPATH可以存取到的目录中,也许是现行的工作目录,在Web程序中可以是在classes目录下,我们这边使用的是单机程序的方式,将使用FileInputStream读取bean.xml,所以将之置于现行的工作目录中,接着我们撰写一个简单的测试程序

SpringTest.java

packageonlyfun.caterpillar;

importjava.io.*;
importorg.springframework.beans.factory.BeanFactory;
importorg.springframework.beans.factory.xml.XmlBeanFactory;

publicclassSpringTest{
publicstaticvoidmain(String[]args)throwsIOException{
InputStreamis=newFileInputStream("bean.xml");
BeanFactoryfactory=newXmlBeanFactory(is);

HelloBeanhello=(HelloBean)factory.getBean("helloBean");
System.out.println(hello.getHelloWord());
}
}

这是从比较低层次的角度来使用Spring的IoC容器功能,藉由BeanFactory来读取组态档案并完成依赖的关联注入,这边的依赖是什么?指的是 HelloBean相依于String对象,透过setter所保留的接口,我们使用setterinjection来完成这个依赖注入,而不是将招呼语写死在HelloBean,BeanFactory是整个Spring的重点所在,整个Spring的核心都围绕着它,在这边使用的是 XmlBeanFactory,负责读取XML组态档案,当然我们也可以使用properties档案,这之后会再介绍。
 BeanFactory读取Bean的组态设定并完成关系维护之后,我们可以藉由getBean()方法并指定Bean的别名来取得实例,来看看实际运行之后的效果:

2004/10/21上午10:28:00org.springframework.beans.factory.xml.XmlBeanDefinitionReaderloadBeanDefinitions
信息:LoadingXMLbeandefinitionsfromresourceforInputStream
2004/10/21上午10:28:00org.springframework.beans.factory.support.AbstractBeanFactorygetBean
信息:Creatingsharedinstanceofsingletonbean'helloBean'
Hello!Justin!

如果今天您要想改变招呼语,则只要更改bean.xml就可以了,不用修改主要的程序,从比较一般的角度来看,就意味着如果您想要改变一些对象之间的依赖关系,则只要修改组态档即可,而不用修改组件的任何一行程序

分享到:
评论

相关推荐

    Spring 入门例子

    **Spring 框架概述** ...总之,"Spring 入门例子"提供了一个学习和实践 Spring 框架的良好起点,通过这个实例,你可以逐步掌握 Spring 的基本概念和实际应用。在实践中不断深入,将有助于提升你的Java EE开发技能。

    spring的一个简单的例子

    这个“spring的一个简单的例子”压缩包可能是为了帮助初学者理解和入门Spring框架。以下是对这个简单例子中可能包含的知识点的详细解释: 1. **Spring 概述**: Spring 是一个开源的Java平台,它提供了一个全面的...

    简单的Spring入门例子

    简单的Spring入门例子一个最简单的spring示例,使用spring的MVC,并应用了spring的依赖注入,实现简单应用,索性放在这里供还没入门的spring爱好者参考,初步感受一下spring应用(spring高手就不必看了,这里并没有...

    Spring入门例子

    Spring入门例子,只是实现了如何注入依赖,具体细节可以查看博客https://blog.csdn.net/qq_29924227/article/details/79942724

    spring入门上手小例子

    下面是一个简单的示例,展示如何使用Spring的DI和AOP: ```java // 定义一个服务接口 public interface Service { void doSomething(); } // 实现服务接口 @Service public class ServiceImpl implements Service...

    java入门级spring加maven的小例子

    在这个入门级的小例子中,我们将通过结合Maven来快速搭建一个Spring项目,帮助初学者理解Spring与Maven的基本用法。 首先,Maven是一个项目管理工具,它管理项目的构建、报告和依赖关系,通过一个配置文件pom.xml,...

    Spring入门小例子

    这个"Spring入门小例子"是专为Spring初学者设计的,旨在帮助学习者快速理解并掌握Spring的基本概念和使用方法。 首先,我们来了解一下Spring的核心概念——控制反转(IoC)。在传统的软件开发中,对象之间的依赖...

    springmvc的入门例子

    这个入门例子是为初学者设计的,旨在帮助他们快速理解和上手Spring MVC。 首先,我们需要理解Spring MVC的基本组件: 1. **DispatcherServlet**:这是Spring MVC的核心组件,作为前端控制器接收所有的HTTP请求,并...

    spring的aop简单例子

    这个简单例子将帮助我们理解AOP的基本概念和如何在Spring框架中实现它。 首先,我们要知道AOP的核心概念:切面、通知、连接点、切点、目标对象和代理。切面是包含横切关注点(如日志记录、事务管理等)的模块化组件...

    spring 例子入门级

    spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子...

    spring actionscript 入门例子

    通过这个入门例子,你可以逐步学习如何设置和运行一个基本的 Spring ActionScript 项目,了解如何使用依赖注入和配置文件来组织和管理 ActionScript 代码。同时,Maven 的使用也让你熟悉软件开发的最佳实践,如自动...

    spring boot入门例子

    6. **Helloworld 示例**:在Spring Boot中,创建一个简单的Hello World应用,只需要定义一个带有`@RestController`注解的控制器类,以及一个返回字符串的方法,比如`@GetMapping("/") public String hello() { ...

    Java Spring 入门例子和代码

    Java Spring 入门例子和代码 第1章:Spring 框架简介 Spring 是一个开源的Java平台,它提供了全面的基础设施支持,以便你可以专注于你的业务逻辑。Spring 框架最有名的是它的依赖注入(DI)功能,它允许你解耦应用...

    spring入门小例子

    通过这个简单的入门例子,你可以逐步掌握Spring的基本用法,包括依赖注入和面向切面编程的实践。同时,结合提供的文件,你可以动手实践,加深理解和记忆。在学习过程中,遇到任何问题,都可以查阅Spring官方文档或...

    spring第一个学习得例子

    "spring第一个学习的例子"旨在帮助初学者快速入门Spring框架,通过实际操作理解其基本概念和工作原理。 首先,Spring的核心特性之一是依赖注入(Dependency Injection,简称DI)。这个例子可能包含了如何在配置文件...

    Spring入门案例

    在这个例子中,`exampleBean`是被Spring管理的一个Bean,它依赖于`dependencyBean`。Spring会自动为`exampleBean`注入`dependencyBean`的引用,从而实现依赖关系的管理。 Spring还提供了AOP特性,允许我们在不修改...

    spring 结合 Redis 例子,简单入门例子

    spring 结合 Redis 例子,简单入门例子http://blog.csdn.net/sunny243788557/article/details/34431357

Global site tag (gtag.js) - Google Analytics