Spring学习之实验十八(@Autowired注解)

实验十八@Autowired注解

在类中定义属性的时候再上一行加上@Autowired注解,会自动分配空间,并不用自己再new。
要求这个属性是容器中有的自定义类型,容器中没有则会报错
@Autowired
private Car myCar;
原理:1、先看属性的类型,按照类型去容器中找对应的组件 myCar = ioc.getBean(Car.)
			1.1如果找到一个,直接装配
			1.2如果没有找到,会跑异常
			1.3如果找到多个,会继续按属性的名字作为id去容器中找(如果没有匹配上就会报错)
					@Qualifier("")该注解放到@Autowired上面,意义就是用该注解中的内容作为id去匹配,而不是用属性的名字
					@Autowired(required=false)其中required=false的意思是,找得到就装配,找不到就装配null而不报错


给方法话@Autowired注解,这个方法也会在bean创建的时候自动运行,而且会自动为方法的每一个形参自动赋值;
在方法的形参前面加上@Qualifier("")代表着用该注解中的内容作为id去匹配,而不是用属性的名字

其他自动装配的注解

@Autowired:最强大。Spring自己的注解
@Resource:j2ee规定的,java的标准
@Inject:EJB环境下用

@Autowired和@Resource比较:
@Resource拓展性更强,因为它是java的标准,如果切换成另外一个容器框架,@Resource还能被认识
@Autowired离开spring就无法使用了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值