spring框架下的 @Qualifier註解
阿新 • • 發佈:2019-02-06
@Autowired
是根據型別進行自動裝配的。如果當spring上下文中存在不止一個UserDao
型別的bean時,就會丟擲BeanCreationException
異常;如果Spring上下文中不存在UserDao
型別的bean,也會丟擲BeanCreationException
異常。我們可以使用@Qualifier
配合@Autowired
來解決這些問題。如下:
①可能存在多個UserDao例項
@Autowired
@Qualifier("userServiceImpl")
public IUserService userService;
Or
@Autowired
public void setUserDao(@Qualifier("userDao") UserDao userDao) {
this.userDao = userDao;
}
這樣Spring會找到id為userServiceImpl和userDao的bean進行裝配。
②可能不存在UserDao例項
@Autowired(required = false)
public IUserService userServic