當前位置:
首頁 > 最新 > Google Guice 媲美Spring的輕量級框架

Google Guice 媲美Spring的輕量級框架

Guice,一個由Google內部自主研發的類似Spring的輕量級框架,他對DI(Dependency Injection)做了很充分的擴展與深入,通過使用Guice,你可提升自己對DI的理解。

Guice讀音:juice

Guice is a lightweight dependency injection framework for java

Lightweight:代碼少、易維護、性能優異

Spring的不足時用過的人都多少了解的,配置過於龐大,複雜項目的配置可以說是一件令人頭痛的事情。

而Guice取消了xml,取消了Bean,甚至沒有了getter、setter方法,使用Constructor來注入,且對泛型具備原生支持,是一個專註於Dependency Injection的開源框架

我通過借鑒Hello World案例來講解Guice,從一個控制台輸出的Hello World,分解為將指定內容輸出到指定目標,到web Hello World,到AOP切面監控,來分布講解Guice的輕量級特性。

注入對於大多數框架來說都是必要的,只有這樣的功能,才能具備擴展性,Gucie具備構造函數注入及成員變數,而成員變數的注入也適合對Guice進行單元測試,當然,對於實例參數的final,使用構造函數注入後,我們還需要注意其生命周期,類似Session/Cache等對於項目來說其生命周期是單例的還是針對性而言的,我們都知道每個Request,將對應一個Session,那麼我們就需要和Guice說明這些注入參數的生命周期,這也是DI的特性。

當然,有關於介面還有抽象類的一些案例,大家可以在我的Demo中看到多出引用。

Guice更好的一點是它的綁定還有Module,通過簡單的bind來綁定介面類的具體實現,通過並列或嵌套或覆蓋來執行Module。且只有在你需要注入時,Guice才會去運行啟動對應的實例。

當然,目前各類框架盛行的時代,多了一個Guice大家也是頭疼說究竟需要怎麼用,這裡大致可能要佛系一點了

佛系三連

【都行】

ok

【可以】

fine

【沒關係】

anyway

不能說Guice能完全替代Spring,其實它是可以和Spring一起同時開發使用的,我在Demo中的最後一個分支也引用了SpringBoot和Guice一起協作開發,由SpringBoot提供Rest Controller,Guice搭建業務邏輯,同時你也可以根據自己的需要引入其他組件。

框架都是有舍有得的,沒有一個框架是十全十美的。

更多Guice代碼教程

Github

UncleCatMySelf/GuiceTeachDemo

2018


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

致敬霍金,傳奇又令人敬仰的天才
LINE 將推出DApp 平台 深耕區塊鏈領域

TAG:全球大搜羅 |