java依赖注入_Java依赖注入选项
java依賴注入
我想花一些時間來總結(jié)一些流行的Java依賴注入(DI)框架。 這是可用功能的高級概述。
首先,什么是依賴注入?
“依賴注入是一種軟件設(shè)計模式,可以刪除硬編碼的依賴,并可以在運行時或編譯時更改它們。” – 維基百科
如果您曾經(jīng)有一個帶有12個參數(shù)的構(gòu)造函數(shù),那么您就已經(jīng)遇到了使用依賴注入的迫切理由。
大多數(shù)對象都需要引用其他對象才有用。 依賴注入使系統(tǒng)可以提供那些引用,而您不必在應(yīng)用程序級別上管理所有這些依賴。
這聽起來很復(fù)雜,但實際上并非如此。 由于這不是對依賴項注入的深入討論, 請查看Wikipedia頁面 ,以多種語言查看幾個示例。
方匕首
從最簡單,最輕便的框架之一開始, Square Dagger是一個很小的庫(<100KB),對于必須最小化其占用空間的程序(如移動應(yīng)用程序)很有用。 它缺少較大框架的許多功能,但是它提高了速度,并提供了一種簡潔的編譯時驗證工具。
- 方匕首
- 在Android上使用Dagger進行依賴注入
- Dagger –一個新的Java依賴注入框架
Google Guice
Guice是Google嘗試創(chuàng)建功能豐富的獨立DI工具的嘗試。 它在大多數(shù)應(yīng)用程序(尤其是Web開發(fā))中很有用。 它提供了比Dagger更多的功能,但速度較慢且可能很復(fù)雜。
- Guice –入門
- 創(chuàng)建一個簡單的谷歌guice應(yīng)用程序
- 使用Guice進行高級依賴注入
春天很大。 它會為您做所有事情,甚至編寫perl,以便使perl可以洗衣服。 當然,它具有依賴注入。
好處是,如果您已經(jīng)在使用Spring,則啟用和使用DI非常容易,并且可以實現(xiàn)很好的集成方法。
不利的一面是,如果Spring不是您的本事,或者您試圖將DI添加到現(xiàn)有的企業(yè)應(yīng)用程序中,則可能很難隔離想要使用的功能的一小部分。
可以通過XML或注釋來配置Spring DI。 我強烈建議使用帶注釋的方法。 遍歷代碼要容易得多,并且可以為需要了解正在發(fā)生的事情的開發(fā)人員提供重要的見解。
- Spring框架的依賴注入
- Spring IoC容器
- Spring IoC教程
Java EE6 CDI
CDI是Java Enterprise Edition中包含的上下文和依賴注入框架。 從表面上看,它看起來與Spring的基于注釋的DI機制非常相似,實際上是這樣。 它的幕后工作有些不同,但是在大多數(shù)情況下,它正在嘗試為Java EE人群解決完全相同的問題。
- CDI依賴注入入門教程 。 注意:這是一個非常詳細的教程。
- CDI概述
Pico容器
我之所以提到這一點,是因為我只是在互聯(lián)網(wǎng)上閑逛時碰到的。 像Dagger一樣, PicoContainer是一個非常小的框架,旨在很好地完成一些工作。 它不具有Spring或CDI的功能或復(fù)雜性,而作為交換,您將獲得簡化。
我對此并不了解很多,但是現(xiàn)在我知道它的存在。 每天都有新冒險!
- PicoContainer簡介
- 兩分鐘教程
重復(fù)數(shù)據(jù)刪除
這篇文章是在我們的一位軟件顧問Shannon Griswold( www.thegrisexplores.com )的允許下發(fā)布的。 原始文本可以在這里找到。
翻譯自: https://www.javacodegeeks.com/2014/02/dependency-injection-options-for-java.html
java依賴注入
總結(jié)
以上是生活随笔為你收集整理的java依赖注入_Java依赖注入选项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虎妈猫爸结局 虎妈猫爸简单介绍
- 下一篇: mockito模拟依赖注入_使用Mock