泛型依赖注入
纸上得来终觉浅
关于泛型依赖注入,只明白它的思想,考虑了整个下午都不明确它所应用的场合,暂时把用法记下来,后面再学习整理。使用示例如下:
public class User {
}
public class Respository<T>{
}
@Repository
public class UserResponsitory extends Respository<User>{
}
public class Service1<T>{
@Autowired
private Respository<T> respository;
public void save(){
System.out.println("Service1.save():"+respository);
}
}
@Service
public class UserService<User> extends Service1<User>{
}
<context:component-scan base-package="com.roadArchitectWeb.inject"></context:component-scan>
public class Main {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("context.xml");
UserService userService = (UserService)ctx.getBean("userService");
userService.save();
}
}
输出结果:
Service1.save():com.roadArchitectWeb.inject.UserResponsitory@aecb35a
可以看出泛型依赖注入其实关键不在于注入,而在于泛型, 具体注入哪一个bean是由泛型决定的。
private Responsitory
还没有评论,来说两句吧...