一个接口多个实现类处理方式

咱们在项目中常常会碰见这样一个问题,如一个接口它有两个或以上的实现类,那么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;
相关文章
相关标签/搜索