@Resource 默認通過名稱注入 ,如名稱無找到則通過類型注入
@Autowired 默認通過類型注入,如存在多個類型則通過名稱注入
//@Resource 默認通過名稱注入 ,如名稱無找到,則通過類型注入
@Resource
private IUserService userService;
例一
存在一個實現類: UserServiceImpl.java 自動注入UserServiceImpl 實現
例二
如果存在多個實現類:UserServiceImpl.java 、 UserServiceImpl2.java 則拋出異常
例三
如果存在多個實現類:UserServiceImpl.java 、 UserService.java 則根據名稱注入UserService.java實現
//默認通過類型注入,如存在多個類型則通過名稱注入
@Autowired
private IUserService userService;
例一
存在一個實現類: UserServiceImpl.java 自動注入UserServiceImpl 實現
例二
如果存在多個實現類:UserServiceImpl.java 、 UserServiceImpl2.java 則拋出異常
例三
如果存在多個實現類:UserServiceImpl.java 、 UserService.java 則根據名稱注入UserService.java實現
//@Qualifier 可以實現類指定名稱,例二則不會報錯
@Autowired
@Qualifier("userServiceImpl")
private IUserService userService;
總結:
存在一個實現類都會注入進去,存在多個實現都會自動根據名稱進行注入,只不過判斷的先後順序不同。
@Resource 由jdk提供
@Autowired 由spring提供