Spring基础—— 泛型依赖注入
本文内容纲要:Spring基础—— 泛型依赖注入
一、为了更加快捷的开发,为了更少的配置,特别是针对 Web 环境的开发,从 Spring 4.0 之后,Spring 引入了 泛型依赖注入。
二、泛型依赖注入:子类之间的依赖关系由其父类泛型以及父类之间的依赖关系来确定,父类的泛型必须为同一类型。
通俗一点来说:两个子类之间的依赖关系不需要在子类中去声明,而是在父类中进行了声明,而依赖的纽带就是 泛型类型,必须是相同的父类泛型类型才具有依赖关系。
三、UML 类图:
说明:在 BaseService 中通过 @Autowired 注解自动装配了 BaseDao 的实例。而在 UserService 中并没有注入 UserDao 的实例,但是通过父类的泛型类型,
在 UserService 中已经注入了 UserDao 的实例。Department 与之类似。
四、例子:
/** * @author solverpeng
* @create 2016-07-20-9:18
*/
public class BaseDao<T> {
public void say() {
System.out.println("com.nucsoft.spring.Dao.BaseDao.say");
}
}
BaseDao.java
/** * @author solverpeng
* @create 2016-07-20-9:18
*/
public class BaseService<T> {
@Autowired
public BaseDao baseDao;
public void service() {
System.out.println(baseDao);
baseDao.say();
}
}
BaseService.java
/** * @author solverpeng
* @create 2016-07-20-9:18
*/
@Repository
public class UserDao extends BaseDao<User>{}
UserDao.java
/** * @author solverpeng
* @create 2016-07-20-9:18
*/
@Service
public class UserService extends BaseService<User>{}
UserService.java
@Testpublic void test03() {
UserService userService = ctx.getBean(UserService.class);
userService.service();
}
Test.java
控制台输出:
com.nucsoft.spring.Dao.UserDao@162a657e
com.nucsoft.spring.Dao.BaseDao.say
本文内容总结:Spring基础—— 泛型依赖注入
原文链接:https://www.cnblogs.com/solverpeng/p/5687304.html
以上是 Spring基础—— 泛型依赖注入 的全部内容, 来源链接: utcz.com/z/362592.html