Spring泛型依赖注入
2020-03-18 本文已影响0人
BlueSkyBlue
Spring4及以上的版本中可以为子类注入子类对应的泛型类型的成员变量的引用。

示例
创建User类
public class User {
}
创建BaseRepository类
public class BaseRepository<T> {
}
创建BaseService类
public class BaseService<T> {
@Autowired
protected BaseRepository<T> repository;
public void add(){
System.out.println("add...");
System.out.println(repository);
}
}
创建UserRepository类
@Repository
public class UserRepository extends BaseRepository<User> {
}
创建UserService类
@Service
public class UserService extends BaseService<User> {
}
测试类
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-generic.xml");
UserService userService = (UserService)ctx.getBean("userService");
userService.add();
}
运行结果