看别人的代码时候 @Autowired 注入接口 没有弄明白,特来请教public interface CrudRepository{
long maxCount=1000;
... ...
}public interface AbcRepositoryBase {
List<AbcEntity> findTckHairlongList();
... ...
}public interface AbcRepository  extends CrudRepository<AbcEntity,String>,AbcRepositoryBase{}// 注意这里:AbcRepositoryImpl 实现的是AbcRepositoryBase 而不是 AbcRepository
public class AbcRepositoryImpl extends jdbcTemplate implements AbcRepositoryBase {
public List<AbcEntity> findAbcList() {
List<AbcEntity> ret = null;
String sql = "SELECT * from TABC" ;
ret = getJdbcTemplate().query(sql, new Object[]{ },ParameterizedBeanPropertyRowMapper.newInstance(AbcEntity.class));
} catch (Exception e) {
e.printStackTrace();
}
return ret;
}

... ...
}@Scope("prototype")
@Service
public class AbcService {
@Autowired
private AbcRepository  mAbcRepository; public List<AbcEntity> getAbcList() {
return  mAbcRepository.findAbcList();
} ... ...
}在 Controller 里:@Autowired
private AbcService mABC;@RequestMapping(value = "/getabc/{uid}")
@ResponseBody
public List<AbcEntity> getAbc(@PathVariable("uid") String uid,HttpServletRequest request) {
List<AbcEntity> ret = mABC.getAbcList();
return ret;
}在AbcService中定义的是 AbcRepository
在AbcRepositoryImpl中implements 的是 AbcRepositoryBase
为什么在注入的时候实现类会是 AbcRepositoryImpl  ?
难道在注入的时候 找不到接口的实现类就找父接口的实现类?本人刚接触spring,很多东西都不懂,请大家不吝赐教 谢谢另外请帮忙推荐一些好的关于spring mvc 的教程或者文章 谢谢