日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

淺析spring依賴注入的3種實現(xiàn)方式_JSP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:詳談Java如何進階
本來我想把這篇文章的名字命名為:怎樣成為一個優(yōu)秀的Java程序員的,但是自己還不夠優(yōu)秀,而本篇所涉及的都是自己學習和工作中的一些經(jīng)驗,后來一想,叫怎樣進階Java可能更為合適吧.能給初學Java的人一個參考,也就是我本來的心愿.如果有大牛看到不妥之處,敬請指正

    在講解依賴注入的3種實現(xiàn)方式之前,這里先澄清一下依賴注入的意義:讓組件依賴于抽象,當組件要與其他實際對象發(fā)生依賴關(guān)系時,通過抽象來注入依賴的實際對象。
    依賴注入的3種實現(xiàn)方式分別是:接口注入(interface injection)、Set注入(setter injection)和構(gòu)造注入(constructor injection)。接下來筆者還將主要通過舉例的方式,把依賴注入的3種實現(xiàn)方式介紹給讀者。
    3.2.1  接口注入(interface injection)
    接口注入指的就是在接口中定義要注入的信息,并通過接口完成注入。結(jié)合前面的示例,其具體步驟如下。
(1)編寫一個接口IBusiness,各種數(shù)據(jù)庫的注入將通過這個接口進行。IBusiness.java的示例代碼如下:
//******* IBusiness.java**************
}
(2)任何想要使用數(shù)據(jù)庫實例的類都必須實現(xiàn)這個接口,業(yè)務邏輯類Business實現(xiàn)這個接口IBusiness。Business.java的示例代碼如下:
//******* Business.java************** 
                   this.db = db; 
         } 
         …… 
         //根據(jù)注入的數(shù)據(jù)庫類,從×××數(shù)據(jù)庫中獲取數(shù)據(jù) 
         public void getData() { 
                   …… 
                   db.getData(); 
                   …… 
         }
}
(3)編寫測試類TestBusiness。TestBusiness.java的示例代碼如下:
//******* TestBusiness.java**************
public class TestBusiness { 
         private Business business = new Business(); 
         …… 
         //根據(jù)注入的數(shù)據(jù)庫類,從Oracle數(shù)據(jù)庫中獲取數(shù)據(jù) 
         public void getData() { 
                   …… 
                   business. createDI (new OracleDataBase()); 
                   business.getData(); 
                   …… 
         }
}
如果要完成依賴關(guān)系注入的對象,必須實現(xiàn)IBusiness接口。
3.2.2  Set注入(setter injection)
Set注入指的就是在接受注入的類中定義一個Set方法,并在參數(shù)中定義需要注入的元素。為了讓類Business接受DataBase的注入,需要為它定義一個Set方法來接受DataBase的注入。Business.java的示例代碼如下:
//******* Business.java**************
public class Business { 
         private DataBase db; 
         public void setDataBase(DataBase db) { 
                   this.db = db; 
         } 
         …… 
         //根據(jù)注入的數(shù)據(jù)庫類,從×××數(shù)據(jù)庫中獲取數(shù)據(jù) 
         public void getData() { 
                   …… 
                   db.getData(); 
                   …… 
         }
}
更詳細的代碼,可以參看3.1節(jié)的第二個例子,采用的就是Set注入的方式。
3.2.3  構(gòu)造注入(constructor injection)
構(gòu)造注入指的就是在接受注入的類中定義一個構(gòu)造方法,并在參數(shù)中定義需要注入的元素。為了讓類Business接受DataBase的注入,需要為它定義一個構(gòu)造方法,來接受DataBase的注入。Business.java的示例代碼如下:
//******* Business.java**************
public class Business { 
         private DataBase db; 
         public Business (DataBase db) { 
                   this.db = db; 
         } 
         …… 
         //根據(jù)注入的數(shù)據(jù)庫類,從×××數(shù)據(jù)庫中獲取數(shù)據(jù) 
         public void getData() { 
                   …… 
                   db.getData(); 
                   …… 
         }
}

分享:總結(jié)Hibernate經(jīng)驗
0、雙向關(guān)聯(lián)中最好是設置一端inverse=true,一端inverse=false。一般inverse=false會放在多的一端,即由多的一方來維護關(guān)系,并在多的一方設置cascade=save-update,在單的一方設置cascade=all。 1、使用Hibernate的idgenerator來生成無業(yè)務意義的主鍵

來源:模板無憂//所屬分類:JSP教程/更新時間:2010-01-31
相關(guān)JSP教程