`
mylftnt
  • 浏览: 27055 次
  • 性别: 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入门上手小例子,包括最基本最简单的的依赖注入和aop编程例子。

    简单的Spring入门例子

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

    spring的aop简单例子

    spring的aop简单例子spring的aop简单例子spring的aop简单例子spring的aop简单例子

    spring mvc入门小例子

    spring mvc入门小例子spring mvc入门小例子spring mvc入门小例子spring mvc入门小例子spring mvc入门小例子

    Spring入门例子

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

    Spring 入门例子

    Spring入门实例,里面注释很清楚,用eclipse写的,直接可以导入

    springmvc的入门例子

    此工程为spring mvc的入门级例子,有助于刚入门spring mvc的开发人员了解spring mvc。

    Spring入门小例子

    Spring入门小例子,适合sping初学者

    java入门级spring加maven的小例子

    java入门级spring加maven的小例子,入门上手第一步,直接maven导入运行即可

    spring actionscript 入门例子

    spring actionscript 入门例子

    spring boot入门例子

    spring boot入门例子

    spring 例子入门级

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

    Java Spring 入门例子和代码

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

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

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

    springCloud入门级例子

    ## 简单配置方法(12.4 Standalone Mode) ``` spring: application: name: spring-cloud-eureka server: port: 1111 eureka: instance: hostname: localhost client: registerWithEureka: false ...

    Spring MVC 入门实例

    基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求交给一个名为 helloController 的程序进行处理, helloController 再调用 一个名为 ...

    spring入门小例子

    spring最初级入门的小例子,希望对大家有帮助

Global site tag (gtag.js) - Google Analytics