从spring的IOC说起(二)——spring的Bean的基础配置 - 编程入门网
t;
注意到上面的配置中我们使用了ref关键字,这个是表示引用配置文件中的ID 为bean_date的对象,另外对于类型,spring会做恰当的转换,比如将345转换成 数字等。当然,这样对简单的构造来说不会有什么问题,如果情况比较复杂的话 ,那么一般建议使用序号来标定,如下:
这样,使用index属性表示该参数所在位置了后,无论是spring构造起来,还 是我们查看都会很方便。当然,spring也提供了自动查找,也就是依赖查找的功 能,但是这个我觉得大家还是少用,因为这样会使整个配置文件看起来非常的不 直观,而且不清晰,说不定过了一段时间再去看的时候就不知道是什么意思了, 在正式应用项目中,还是将各个bean的关系进行组织和编写清楚为好。 上面所说的都是构造来实例化一个bean,但有时候我们都会使用工厂模式来 获取bean。对于工厂模式,我们一般也使用静态工厂模式和实例工厂模式,这两 个在spring中配置也是不太一样的。对于静态工厂模式来实例化bean的,我们的 配置如下: <bean id="bean_string" class="cn.qtone.test.TestFactory" factory-method="getBean"/> 当然,我们也可以为静态工厂模式的bean来使用构造参数,这个就不说了。 我们上面的bean配置对应的实际代码就应该是:
那么spring在实例化ID为bean_string的bean时,就会使用TestFactory的 getBean()方法来获取,而且TestFactory是没有被实例化的,即是使用静态方法 来获取的。对于实例工厂模式的话,我们的配置和上面就稍微有点不一样了,那 我们就应该配置两个bean, 一个是实例的工厂bean,还一个就是我们要获取的 bean的配置了,如下:
上面的配置中,spring容器将首先实例化一个TestBeanFactory,然后再根据 该类的方法getHello来获取一个bean的实例,我们这里以HelloWorld对象为例, 对应的代码就应该如下:
从spring的IOC说起(二)——spring的Bean的基础配置(3)时间:2011-06-21 j2ee.blog.sohu.com注意到,我们这里的getHello方法并不是静态方法,而是实例方法,所以必 须先实例化TestBeanFactory后才能够调用。 上面说的都是如何去实例化一个bean,没有说到bean的属性注入。虽然我们 也可以通过构造的时候进行一次注入,但这样做不仅失去了灵活性,而且一长串 的构造参数看着也眼疼哈,呵呵。当然,有一种情况下,我们是应该使用构造注 入的,就是希望注入的对象不能够被外界修改时,我们这时候就必须使用构造注 入了。对于bean的属性注入,以HelloWorld为例,我们可以简单的配置如下:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |