A-A+

Spring基础—— 泛型依赖注入

2016年08月03日 Linux 教程 暂无评论 阅读 607 次

一、为了更加快捷的开发,为了更少的配置,特别是针对 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.linuxidc.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

@Test
public void test03() {
    UserService userService = ctx.getBean(UserService.class);
    userService.service();
}

Test.java

控制台输出:

[email protected]
com.linuxidc.spring.Dao.BaseDao.say

Spring中如何配置Hibernate事务 2013-12/93681.htm

Struts2整合Spring方法及原理 2013-12/93692.htm

基于 Spring 设计并实现 RESTful Web Services 2013-10/91974.htm

Spring-3.2.4 + Quartz-2.2.0集成实例 2013-10/91524.htm

使用 Spring 进行单元测试 2013-09/89913.htm

运用Spring注解实现Netty服务器端UDP应用程序 2013-09/89780.htm

Spring 3.x 企业应用开发实战 PDF完整高清扫描版+源代码 2013-10/91357.htm

Spring 的详细介绍请点这里
Spring 的下载地址请点这里

本文永久更新链接地址 2016-08/133812.htm 

标签:

给我留言

Copyright © SEARU.ORG 保留所有权利.   Theme  Ality 网站地图 360网站安全检测平台

用户登录

分享到: