泛型依赖注入