Spring中bean的自动装配

一. 自动装配的实现

​ 自动装配的目标是不需要使用ref属性或者ref标签去引用其他的bean,而是通过自动的方式引用其他的bean。SpringIOC容器是可以自动装配bean的,需要的仅仅是在bean标签使用autowire属性指定自动装配的方式。

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

	xmlns:p="http://www.springframework.org/schema/p"

	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 

​		bean标签中使用autowire属性设置自动装配

​		autowire 表示自动装配,常用两个装配方式:

​			- byType : 根据类型自动装配,但是如果IOC容器中存在多个相同类型的bean,则无法判断到底使用哪个,报错。

​			- byName : 根据名称自动装配,必须要求person这个bean的属性要求和被自动装配的bean的名称要一致

​	 --><bean id="person" class="com.nhkj.autowire.Person" p:name="jjm" p:age="30" autowire="byName"><!-- <property name="car" ref="car"></property> --></bean>
    
    	<bean id="car" class="com.nhkj.autowire.Car" p:barnd="Chery" p:color="gold" p:maxSpeed="200" p:price="60000"></bean>
	<bean id="car2" class="com.nhkj.autowire.Car" p:barnd="BYD" p:color="gold" p:maxSpeed="200" p:price="60000"></bean>

</beans>
二. 自动装配的优缺点
  • 在bean的配置文件里面设置autowire属性进行自动装配将会装配bean的所有属性,但是如果只希望装配个别的属性的时候,autowire这个时候就显得不够灵活了
  • autowire属性要么根据名称要么根据类型自动装配,不能够两者兼而有之
  • 一般情况下,在基于xml的Spring配置中,很少去使用自动装配的功能,因为和自动装配带来的好处相比,明确清晰的配置文档更具有说服力。
  • 在后期的注解过程中,我们会大量的使用autowire进行自动装配,一般在三层架构的开发中,控制层引用Service层【业务层】,业务层引用数据访问层,都只会在IOC容器中存在一个bean,所以不会存在根据类型匹配不上,或者匹配过多的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值