@Autowired与@Resource的区别

1.Autowired注解

  • 1.优先按照类型注入,如果仅仅找到一个对应的类型那么就会直接注入
  • 2.按照类型注入,如果找到多个,就会按照属性名称去找,找不到就会报错
  • 3.配合@Qualifer("带注入Bean的名称")可以实现按照名称注入
  • 4.找到多个相同类型的时候,如果有的Bean定义时添加@Primary注解,就会优先注入被@Primary注解修饰的那一个bean
  • 5.在使用@Primary注解的时候同时使用@Qualifer注解的时候,依然是@Qualifer注解中的名字注入
  • 6.Autowired会按照先类型,后属性名称的方式注入

2.Resource

  • 1.优先按照@Resource(name = "需要注入的bean名称"),中name属性的值注入
  • 2.如果name属性中的bean找不到,就会按照属性的名称进行注入
  • 3.如果按照属性的名称也找不到的话啊,就会按照类型注入
  • 4.按照类型如果找到一个,就会直接注入,找到多个就会报错
  • 5.@Resource注解不会受到@Primary注解的影响
posted @ 2021-04-08 20:22  迁承_0204  阅读(83)  评论(0编辑  收藏  举报