Spring学习笔记之泛型依赖注入
2017-11-05 20:36
537 查看
泛型依赖注入
a8db
:子类之间的依赖关系由其父类泛型以及父类之间的依赖关系来确定,父类的泛型必须为同一类型。
通俗一点来说:两个子类之间的依赖关系不需要在子类中去声明,而是在父类中进行了声明,而依赖的纽带就是 泛型类型,必须是相同的父类泛型类型才具有依赖关系。
UML图例
说明:在 BaseService 中通过 @Autowired 注解自动装配了 BaseRepository 的实例。而在 UserService 中并没有注入 UserRepository 的实例,但是通过父类的泛型类型,
在 UserService 中已经注入了 UserDao 的实例。
举例
输出结果
a8db
:子类之间的依赖关系由其父类泛型以及父类之间的依赖关系来确定,父类的泛型必须为同一类型。
通俗一点来说:两个子类之间的依赖关系不需要在子类中去声明,而是在父类中进行了声明,而依赖的纽带就是 泛型类型,必须是相同的父类泛型类型才具有依赖关系。
UML图例
说明:在 BaseService 中通过 @Autowired 注解自动装配了 BaseRepository 的实例。而在 UserService 中并没有注入 UserRepository 的实例,但是通过父类的泛型类型,
在 UserService 中已经注入了 UserDao 的实例。
举例
public class BaseService<T> { @Autowired protected BaseRepository<T> repository; public void add() { System.out.println("add..."); System.out.println(repository); } }
public class BaseRepository<T> { }
@Service public class UserService extends BaseService<User> { }
@Repository public class UserRepository extends BaseRepository<User>{ }
public class User { }
public class Main { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-generic-di.xml"); UserService userService = (UserService) ctx.getBean("userService"); userService.add(); } }
输出结果
add... com.jhh.spring.beans.generic.di.UserRepository@66d1af89
相关文章推荐
- Spring学习笔记之泛型依赖注入
- Spring4学习笔记-泛型依赖注入
- Spring 学习笔记 - IOC/依赖注入
- 14.Spring学习笔记_泛型依赖注入(by尚硅谷_佟刚)
- 【Spring学习笔记三】-依赖注入的两种方式
- Spring学习--泛型依赖注入
- spring学习笔记03--依赖注入与控制反转
- Spring学习笔记(5)----依赖注入的简单实现
- Spring框架学习(11):Spring泛型依赖注入
- Spring学习笔记(6)----编码剖析Spring依赖注入的原理
- spring 依赖注入DI-个人学习笔记
- ITCAST视频-Spring学习笔记(编码剖析Spring依赖注入的原理)
- Spring 4 学习笔记3:依赖注入(DI)
- 【Spring学习笔记二】-理解依赖注入
- Spring 4 学习笔记6:依赖注入(配置)
- Spring学习笔记----依赖注入的简单实现
- Spring学习笔记--依赖注入
- Spring笔记3-泛型依赖注入
- spring学习笔记(一)——控制反转&依赖注入
- spring.net学习笔记1--依赖对象注入