基类如下
@Transactional(readOnly = true)
public abstract class CrudService<D extends CrudDao<T>, T extends DataEntity<T>> {
/**
* 持久层对象
*/
@Autowired
protected D dao;
}
现有如下类;
@Service
@Transactional(readOnly = true)
public class ArticleService extends CrudService<ArticleDao, Article> {
}
本人疑惑的是spring启动的时候能为这个ArticleService注入dao属性,也就是ArticleDao的值,按理说泛型会编译后擦除,而@Autowired根据类型注入dao属性,而通过反射获取到的dao的类型是CrudDao,无法判断具体类型, 而spring框架为什么可以那么准确的注入 dao属性呢?
解决方案
50
不懂,纯帮顶;
50
不懂java
