Guice简介
2007年3月Google發(fā)布了它的開源項(xiàng)目Guice,它內(nèi)在支持依賴注入。對注解、用戶自定義Bean作用域、循環(huán)依賴、靜態(tài)成員注入、集成Spring、AOP及方法攔截都提供了很好的支持。Guice能夠注入constructors、fields及methods(任何方法,任意參數(shù)),同時(shí)它還支持自定義scopes、循環(huán)依賴、靜態(tài)成員注入、整合Spring,以及AOP。相比Spring擁有更加強(qiáng)大的功能。xwork 2.0已經(jīng)集成了Google guice容器。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
什么是Guice
從目前的應(yīng)用開發(fā)來看,普遍應(yīng)用的編程方式是面向接口編程的,這種編程方式需要我們處理接口和它實(shí)現(xiàn)類之間的關(guān)系,以及訪問中間層和事務(wù)管理器的操作。對于這些操作已經(jīng)有了很多的解決方案,大多數(shù)的解決方案是在IoC框架使用XML配置文件進(jìn)行bean組裝的方式。但是這樣無法把代碼修改和配置文件修改同步,配置文件也無法進(jìn)行類型檢查。由Google公司的Bob Lee開發(fā)的輕量級IoC容器Guice卻成功地解決了這個(gè)問題。它的特點(diǎn)是速度快、代碼少,非常容易進(jìn)行單元測試。它可以使用標(biāo)注或者Module接口兩種方法來解決IoC問題。 Guice是超輕量級、新一代的,為Java 5及后續(xù)版本設(shè)計(jì)的依賴注入容器。 ? Guice的特點(diǎn)有以下幾點(diǎn)。 ? l注入的定義簡單:只需聲明為@inject ,在統(tǒng)一的Module里聲明注入方式 。 l依賴注入方式發(fā)生改變:類與類之間的關(guān)系隔離到Module中,由容器根據(jù)Module里的描述,注入被調(diào)用的對象。 l運(yùn)行效率高:Guice是在使用的時(shí)候進(jìn)行注入,動態(tài)注入的運(yùn)行效率和靈活性高。 l支持多種注入方式:屬性注入、構(gòu)造方法注入、setter方法注入。支持Annotation:使用自定義Annotation標(biāo)注,對于相同的接口定義的對象引用,為它們標(biāo)注上不同的自定義Annotation注釋,即可以達(dá)到對同一個(gè)類里邊的同一個(gè)接口的引用,注入不同的實(shí)現(xiàn),在Module里用標(biāo)注做區(qū)分,靈活性大大增加。 ? ? 吉林省三揚(yáng)科技咨詢有限公司-長春JAVA培訓(xùn)|Java培訓(xùn)|PHP培訓(xùn)|3G培訓(xùn)|長春三揚(yáng)java培訓(xùn)|長春培訓(xùn)|C++培訓(xùn)|嵌入式培訓(xùn)|ORACLE培訓(xùn)|軟件測試培訓(xùn)|.Net培訓(xùn)|游戲培訓(xùn)|嵌入式LINUX培訓(xùn)|數(shù)據(jù)庫培訓(xùn)|大學(xué)生IT培訓(xùn)||軟件培訓(xùn)|IT培訓(xùn)|IT就業(yè)培訓(xùn)|軟件工程師培訓(xùn)|程序員培訓(xùn)|電腦培訓(xùn)|IT認(rèn)證培訓(xùn)|大學(xué)生就業(yè)培訓(xùn)|職業(yè)技能培訓(xùn)|IT業(yè)余班|周末班培訓(xùn)轉(zhuǎn)載于:https://blog.51cto.com/fanlifeng/214802
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: 游红原大草原有感
- 下一篇: [SD2.0大会]王坚:Data–cen