1.多个实现类 如何匹配
在实际的开发中,我们会使用@Autowired 注解进行依赖注入对应的bean,但是如果我们依赖的是一个接口,有对应多个实现的话,就会出现异常。
@RestController
public class DbController {
@Autowired
private DbService dbService;
@RequestMapping(path = "/hiDb",method = RequestMethod.GET)
public String hiScope() {
dbService.db();
return "";
}
}
@Service
public class MySQLDbService implements DbService{
@Override
public void db() {
System.out.println("mysql init");
}
}
@Service
public class HbaseDbService implements DbService{
@Override
public void db() {
System.out.println("HbaseDB");
}
}
Field dbService in com.qxlx.spingboot.controller.DbController required a single bean, but 2 were found:
- hbaseDbService: defined in file [/Users/qxlx/work/qxlx/qxlx/spring/target/classes/com/qxlx/spingboot/service/HbaseDbService.class]
- mySQLDbService: defined in file [/Users/qxlx/work/qxlx/qxlx/spring/target/classes