码迷,mamicode.com
首页 > 编程语言 > 详细

Spring中自动装配

时间:2014-09-19 01:13:54      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:string   自动装配   autowire   

自动装配

在我们了解过constructor-arg和property装配中,都需要配置相应的属性和值或者引用,如果在比较复杂的项目中,就会使得XML的配置变得复杂,自动装配可以使用较少的配置实现。主要通过使用bean的autowire属性来控制,autowire可取值:

byName:为属性自动装配id与该属性的名字相同的bean  

           例如:People中有一个名为dog的Dog类

            <beanclass=”People” id=”p” autowire=”byName”/>

            <beanid=”dog” class=”Dog”>

byType:与byName不同的是,通过类型来选择装配的属性

           <beanclass=”People” id=”p” autowire=”byType”/>

           < beanid=”dog1” class=”Dog”>

   如果我们有多个Dog bean那么此时byType就不会装配,而是抛出异常,对于此,我们可以设置首先装配的bean,通过将Dog bean的primary属性设置为false(默认为true,都是首选bean),还可以设置autowrie-candidate为false,将该bean排除在装配外。

         constructor:通过构造器装配,此时就不再需要constructor-arg装配,当我们装配一个bean时,选用constructor,那么该bean就会去寻找该构造方法中可以使用的参数,如果此时有多个的话,那么就会抛出异常。注意:此时不能使用constructor-arg

        autodetect:自动装配,首先会选用constructor,如果没有,在选用byType.

 

 

如果我们需要为所有的bean选择相同的默认装配方式,可以再beans元素中,使用default-autowire属性来指定

我们通常使用手动装配和自动装配的混合模式。

Spring中自动装配

标签:string   自动装配   autowire   

原文地址:http://blog.csdn.net/u013516966/article/details/39382177

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!