西南证券开户

关于Mybatis自动注入的问题

发布于 06/07 22:21
阅读 3K+
收藏 6

精选30+云产品,助力企业轻松上云!>>>

西南证券开户我在看 spring-mybatis 源码时看到下面这段代码

definition.getConstructorArgumentValues().addGenericArgumentValue(beanClassName);

beanClassName是一个String ,

definition的beanClass是 org.mybatis.spring.mapper.MapperFactoryBean,这个类的构造方法接收一个Class类型的参数,为什么addGenericArgumentValue的参数是接口的名字而不是接口的Class对象?

上面代码在 org.mybatis.spring.mapper.ClassPathMapperScanner 的 processBeanDefinitions()方法中

加载中
0
yongk

我是这么理解的,

Java的泛型在runtime时已丢了,而Class<T>又是一个泛型类。

也就是说如果接口参数是Class,那么你传的Class<Person>还是Class<Dog>,运行时都是Class。

西南证券开户beanClassName没有这个问题,比如"com.demo.Person"和"com.demo.Dog"。

返回顶部
顶部
发现配资网 五金股票新闻网 环保投资网 99挖财宝 知识之窗网 葫芦岛新闻网 诊股健康网