看别人的代码时候 @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 的教程或者文章 谢谢
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 的教程或者文章 谢谢
解决方案 »
- 一个简单项目开发设计思路?
- 急!! 谁用过JasperReport? 现在需要输出报表导html, 但字段需要动态定义,请问怎么实现啊?
- java beans
- 哪位大哥有JSP音乐网站原代码啊?本人第一次做音乐网站``完全不熟悉``
- 一个简单的问题,请教各位...
- 一个关于tomcat的问题
- jdbc驱动jar文件应该放到tomcat的lib下面,还是jdk的lib下面?
- 如何在JSP中调用存储过程?
- 请问各位mysql是什么,干什么用的?
- spring websocketsession 集群共享问题
- 求助TT项目报错The requested resource (/blog/) is not available.如何解决
- spring boot mybatis-plus Error creating bean with name
public class AbcRepositoryImpl extends jdbcTemplate implements AbcRepositoryBase {......}