Spring 注释 Autowired 和@Resource 的区别
1个回答
展开全部
@Autowired标注在类属性的set方法上(或属性上也可但破坏封装或标注在任意方法上其实都可以),然后标注的这个set方法就会被spring容器初始化的时候发现,then当spring发现有合适的bean的类型符合这个set方法的形参类型的时候,就会被注入了。一言以蔽之,@Autowired是按照类型来对应注入的。
@Resource一般使用为@Rosource(name="xx")的形式。也是和上面一样,一般标注在set方法上。然后spring会按照名字,name嘛来进行注入。一言以蔽之,它是按名字注入的。
另外,@Autowired如果光按类型,那么有一堆类型相同的怎么办?该注入谁啊?这时候,@Qualtifier可以帮助来定位一个bean。
两者相比,后者更常用。
还有@Component啊@Require啊@Scope啊你也学习了,有问题再追问吧。
@Resource一般使用为@Rosource(name="xx")的形式。也是和上面一样,一般标注在set方法上。然后spring会按照名字,name嘛来进行注入。一言以蔽之,它是按名字注入的。
另外,@Autowired如果光按类型,那么有一堆类型相同的怎么办?该注入谁啊?这时候,@Qualtifier可以帮助来定位一个bean。
两者相比,后者更常用。
还有@Component啊@Require啊@Scope啊你也学习了,有问题再追问吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询