@Autowired
默认按类型, @Resource
默认按名称
Autowired 和 Resource 都是依赖注入注解。
一个是 spring 框架带的,一个是 javaee 框架带的
Autowired 主要是类型注入,Resource 是按照名称注入,名称找不到的话,会按照类型进行注入。
Autowired 当存在多个的时候,可以配合Qualifier 来进行使用。一般在实际工作中比较常用 Resource。
@Autowired
private UserService userService; // 根据类型查找 UserService Bean
@Resource
private UserService userService; // 根据变量名 "userService" 查找 Bean
@Autowired
@Qualifier("userServiceImpl") // 指定 Bean 名称
private UserService userService;
@Resource(name = "userServiceImpl") // 直接指定 Bean 名称
private UserService userService;