spring4学习笔记(四)--Spring-4.x新特性:泛型依赖注入

Spring4 添加了泛型依赖注入的功能。具体的,从下面这张图来看:
spring4.x泛型依赖注入

假使我们创建了两个泛型基类BaseService<T>BaseRepository<T>,并分别进行了实现UserService<User>UserRepository<User>,如果在泛型基类中存在如下代码:

1
2
3
4
5
6
7
8
9
public class BaseService<T> {
@Autowired
protected BaseRepository baseRepository;
void add() {
System.out.println(baseRepository);
}
}

UserService<User>类仅仅实现了BaseService的接口,没有重写add方法:

1
2
3
4
@service
public class UserService<User> implement BaseService{
}

UserRepository<User>UserService<User>类似。将这些Bean交给spring IOC进行管理,创建main方法:

1
2
3
4
5
6
7
8
9
public class Main{
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("xxx.xml");
UserService userService = (UserService) ctx.getBean("userService");
//调用userService的add方法
UserService.add();
}
}

可以看到System.out.println(baseRepository);的输出结果是一个userRepository类。
由此可知,spring4自动将User类传入了baseRepository的继承类中。



本文章首发www.whtis.com,转载请注明出处


如果觉得这篇文章还有用的话,请我喝杯饮料呗~~