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

(005)spring注解@Resource和@Autowire的区别

时间:2019-11-03 20:29:39      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:没有   qualifier   设置   区别   找不到   name   dao   除了   ali   

Autowire:  

  1、Autowire是spring的注解,默认先按照类型装配,如果没有找到这个类型的bean或者找到多个这个类型的bean但是多个bean的名字没有与属性名相同的,会报错。

  2、如果找到多个这个类型的bean但是多个bean的名字中有与属性名相同的,则按照该bean的名字装配,不会报错。

  3、如果使找不到要注入的bean时也不会报错,可设置required为false。

  4、如果使其按照名字装配,可以使用@Qualifier注解,如@Qualifier("userDao")表示,使用名字为userDao的bean

Resource:

  1、Resource是j2ee的注解,默认先按照名字进行装配,如果没有找到这个类型的bean或者找到多个这个类型的bean但是多个bean的名字没有与属性名相同的,会报错。

  2、如果找到多个这个类型的bean但是多个bean的名字中有与属性名相同的,则按照该bean的名字装配,不会报错。

  3、Resource可以指定 bean的名字,如@Resource(name="userDao")表示,取bean的名字为userDao的bean装配

总结:

  1、Autowire是spring的注解,默认先按照类型装配,Resource是j2ee的注解,默认先按照名字进行装配

  2、存在多个bean时,如果属性名不与bean的名字相同,必须指定使用哪个bean,否则会报错

  3、Resource除了使用Qualifier注解,还可以它的name属性来指定使用哪个bean

 

(005)spring注解@Resource和@Autowire的区别

标签:没有   qualifier   设置   区别   找不到   name   dao   除了   ali   

原文地址:https://www.cnblogs.com/javasl/p/11783483.html

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