快速业务通道

从spring的IOC说起(二)——spring的Bean的基础配置 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

从spring的IOC说起(二)——spring的Bean的基础配置

时间:2011-06-21 j2ee.blog.sohu.com

上次简单的说了下spring的IOC,也说到了spring的IOC强大在于有一系列可 以维护Bean不同关系的维护类的存在,而这样的维护也是基于高度可配置的 spring配置文件而言的。这次就是结合我的使用spring的IOC来讲讲我在使用中 的体会,当然,这里涉及的内容不会很高深,但是也必须读者能够读懂简单的 Bean配置才可以。

我们这里只讲spring的IOC,AOP不在这范围之内,虽然AOP也是基于IOC之上 的,至于那些集合啊什么的配置也不是这里的重点。我们这里说spring的Bean配 置,主要就是说如何配置Bean在配置文件中,可以使结构更加合理化和使我们的 编写量更少,当然我所说的也不一定对,也是和大家一起讨论讨论:),也希望 大家可以提出更好的方法或模式。

在spring的Bean配置中总的来说其实就一个标签<bean></bean> ,这个bean标签就攘括了几乎所有的配置,然后bean的继承、抽象等都是基于此 标签之上的,掌握了bean的配置,详细可以使自己有一个比较大的提升,尤其是 对于新手来说(我也是,呵呵 )。最基础的bean配置如下:

<bean id="bean_test" class="cn.qtone.test.HelloWorld"></bean>

这里我们就简单的使用HelloWorld类来实例化,使用默认的构造方法,即相 当于我们使用:

HelloWorld tmp = new HelloWorld();

但有一点不同的是在spring配置中的在整个应用期间只有一个实例,即是单 例的,当然这个单例是指对一个IOC容器(spring)来说的,而不是我们通常说 说的单态模式。当然,spring也可以这样配置不是单态的实例,比如我们修改如 下:

<bean id="bean_test" class="cn.qtone.test.HelloWorld" scope="prototype"></bean>

注意其中的不同颜色部分,这样配置后就表明每次从spring容器中获取 HelloWorld的实例的时候就会new一个新对象,即我们所说的原型,spring中 scope默认的是单态(singleton),当然针对web应用程序,还可以配置为 request、session等范围。至于什么时候使用什么权限范围就要看应用程序的使 用了,比如在多线程程序中,单态是否会对程序有所影响就需要考虑了。

如果HelloWorld类没有空的构造方法,只有如下的两个构造方法,那我们该 如何配置呢?

…… public HelloWorld(String str) {    …… }

public HelloWorld(Date date, int i) {    …… } ……

由于没有默认构造方法,所以我们就需要在bean的配置中写上构造参数才可 以,如下:

<!-- 使用一个参数的构造 --> <bean id="bean_test" class="cn.qtone.test.HelloWorld" scope="prototype">    <constructor- arg><value>hello</value></constructor-arg> </bean>

从spring的IOC说起(二)——spring的Bean的基础配置(2)

时间:2011-06-21 j2ee.blog.sohu.com

上面说的使用一个参数的,即带字符串参数的构造方法,如果想使用带日期 和整型的构造方法,那么就要做如下的配置了:

<bean id="bean_date" class="java.util.Date" />

<!-- 使用二个参数的构造 --> <bean id="bean_test" class="cn.qtone.test.HelloWorld" scope="prototype">    <constructor-arg ref="bean_date"></constructor-arg>    <constructor-arg><value>345</value></constructor -arg> </bean&g

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号