1. 程式人生 > >spring框架下的 @Qualifier註解

spring框架下的 @Qualifier註解

@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