Autowired注解与Resource注解的区别

在我们使用Spring的过程中,经常需要使用bean,而Spring提供了bean的自动注入机制,在Java中,存在Autowired注解与Resource注解两种实现bean自动注入的注解,但两者存在区别。

当我们在进行字段注入时,Spring官方文档使用的是Autowired方式注入。其实在Java中这种方式是不推荐的(在IDEA中会标黄),而是推荐使用Resource方法来注入。而Autowired推荐在构造方法上使用。

两者区别:

  1. @Resource注解是Java自身的注解,@Autowired注解是Spring的注解.
  2. @Resource原生支持byName注入和byType注入方式,而Autowire原生仅支持byType注入。需要添加@Qualifier注解或者@Primary注解来实现byName注入。

byName注入即通过在bean类注解后添加字符串,表示bean的名字,再通过名字实现注入的方式。