歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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.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

控制台輸出:

com.linuxidc.spring.Dao.UserDao@162a657e
com.linuxidc.spring.Dao.BaseDao.say

Spring中如何配置Hibernate事務 http://www.linuxidc.com/Linux/2013-12/93681.htm

Struts2整合Spring方法及原理 http://www.linuxidc.com/Linux/2013-12/93692.htm

基於 Spring 設計並實現 RESTful Web Services http://www.linuxidc.com/Linux/2013-10/91974.htm

Spring-3.2.4 + Quartz-2.2.0集成實例 http://www.linuxidc.com/Linux/2013-10/91524.htm

使用 Spring 進行單元測試 http://www.linuxidc.com/Linux/2013-09/89913.htm

運用Spring注解實現Netty服務器端UDP應用程序 http://www.linuxidc.com/Linux/2013-09/89780.htm

Spring 3.x 企業應用開發實戰 PDF完整高清掃描版+源代碼 http://www.linuxidc.com/Linux/2013-10/91357.htm

Spring 的詳細介紹:請點這裡
Spring 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved