淺析spring依賴注入的3種實現方式_JSP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:詳談Java如何進階本來我想把這篇文章的名字命名為:怎樣成為一個優秀的Java程序員的,但是自己還不夠優秀,而本篇所涉及的都是自己學習和工作中的一些經驗,后來一想,叫怎樣進階Java可能更為合適吧.能給初學Java的人一個參考,也就是我本來的心愿.如果有大牛看到不妥之處,敬請指正
在講解依賴注入的3種實現方式之前,這里先澄清一下依賴注入的意義:讓組件依賴于抽象,當組件要與其他實際對象發生依賴關系時,通過抽象來注入依賴的實際對象。依賴注入的3種實現方式分別是:接口注入(interface injection)、Set注入(setter injection)和構造注入(constructor injection)。接下來筆者還將主要通過舉例的方式,把依賴注入的3種實現方式介紹給讀者。
3.2.1 接口注入(interface injection)
接口注入指的就是在接口中定義要注入的信息,并通過接口完成注入。結合前面的示例,其具體步驟如下。
(1)編寫一個接口IBusiness,各種數據庫的注入將通過這個接口進行。IBusiness.java的示例代碼如下:
//******* IBusiness.java**************
}
(2)任何想要使用數據庫實例的類都必須實現這個接口,業務邏輯類Business實現這個接口IBusiness。Business.java的示例代碼如下:
//******* Business.java**************
this.db = db;
}
……
//根據注入的數據庫類,從×××數據庫中獲取數據
public void getData() {
……
db.getData();
……
}
}
(3)編寫測試類TestBusiness。TestBusiness.java的示例代碼如下:
//******* TestBusiness.java**************
public class TestBusiness {
private Business business = new Business();
……
//根據注入的數據庫類,從Oracle數據庫中獲取數據
public void getData() {
……
business. createDI (new OracleDataBase());
business.getData();
……
}
}
如果要完成依賴關系注入的對象,必須實現IBusiness接口。
3.2.2 Set注入(setter injection)
Set注入指的就是在接受注入的類中定義一個Set方法,并在參數中定義需要注入的元素。為了讓類Business接受DataBase的注入,需要為它定義一個Set方法來接受DataBase的注入。Business.java的示例代碼如下:
//******* Business.java**************
public class Business {
private DataBase db;
public void setDataBase(DataBase db) {
this.db = db;
}
……
//根據注入的數據庫類,從×××數據庫中獲取數據
public void getData() {
……
db.getData();
……
}
}
更詳細的代碼,可以參看3.1節的第二個例子,采用的就是Set注入的方式。
3.2.3 構造注入(constructor injection)
構造注入指的就是在接受注入的類中定義一個構造方法,并在參數中定義需要注入的元素。為了讓類Business接受DataBase的注入,需要為它定義一個構造方法,來接受DataBase的注入。Business.java的示例代碼如下:
//******* Business.java**************
public class Business {
private DataBase db;
public Business (DataBase db) {
this.db = db;
}
……
//根據注入的數據庫類,從×××數據庫中獲取數據
public void getData() {
……
db.getData();
……
}
}
分享:總結Hibernate經驗0、雙向關聯中最好是設置一端inverse=true,一端inverse=false。一般inverse=false會放在多的一端,即由多的一方來維護關系,并在多的一方設置cascade=save-update,在單的一方設置cascade=all。 1、使用Hibernate的idgenerator來生成無業務意義的主鍵
相關JSP教程:
- jsp response.sendRedirect不跳轉的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復習整理
- JSP腳本元素和注釋復習總結示例
- JSP FusionCharts Free顯示圖表 具體實現
- 網頁模板:關于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數據庫的配置方法
- JDBC連接Access數據庫的幾種方式介紹
- 網站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關鏈接:
- 教程說明:
JSP教程-淺析spring依賴注入的3種實現方式
。