咱们在项目中常常会碰见这样一个问题,如一个接口它有两个或以上的实现类,那么spring会注入哪个呢?java
其实遇到这种状况须要作特殊标识的,否则spring会报错误提示!spring
1.使用@Resource注解code
@Service(value="imgDataDao") public class ImageDataDao extends DataDao{ }
@Resource(name="imgDataDao") private DataDao xx;
@Resource的做用至关于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。 接口
2. 或者使用@Qualifier注解class
@Autowired @Qualifier("imgDataDao") private DataDao yy;