spring的自动装配

autowire:这个属性控制Bean是否自动装配,如果使用这个属性,Spring会自动使用下列方式之一来培植依赖性:

    no:(默认)必须在XML文件中使用<ref>元素定义Bean的引用

        如配置1:

 

    byName:按属性名进行自动装配,如果一个Bean暴露了一个abc属性,也就是说他有一个setAbc()方法,Spring将尝试在当前工厂中查找叫做abc的Bean定义,然后用它来设置abc属性

       如配置2:

 

 

       配置2等效配置1

    byType:如果BeanFactory中正好有一个同属性类型一样的Bean,就自动装配这个属性。如果没有找到对应类型,将会抛出org.springframework.beans.factory.UnsatisfiedDependencyException 比如类Computer有个属性printer,类型为Printer,那么,指定其autowire属性为byType后,Spring IoC容器会查找Class属性为Printer的bean,使用Seter方法为其注入。

    constructor:与byType类似,不过是应用与构造函数的参数,即它不是使用Seter方法注入,而是使用构造子注入。
    autodetect:default:由上级标签<beans>的default-autowire属性确定. 通过对Bean类的检查来选择constructor或者byType

 

一般开发都用的是NO,这样易于维护,出了错也很好查找

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值