@Autowired和@Resource的区别与联系

联系:

@Autowired和@Resource都可以被Spring识别来配置bean
两者都可以通过set方法注入或直接用在属性字段上通过构造方法进行注入

区别:

@Autowired由Spring自身提供,

  1. 默认按照类型注入bean,
  2. 默认情况下要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false @Autowired(required=false)。
  3. 如果要使用名称装配,需要配合@Qualifier注解
@Autowired
@Qualifier(value = “名称{)

@Resource属于JDK注解,

  1. 默认按照名称进行配置,名称通过name属性进行指定对应bean中的id或name,
  2. 如果没有指定name属性,当注解写在字段上时,默认取字段名进行查询,如果注解写在set方法上默认取属性名进行配置。
  3. 当找不到与名称匹配的bean时才按照类型进行配置

猜你喜欢

转载自blog.csdn.net/y75xwr/article/details/98482460