gluon_带有Gluon Ignite和Dagger的JavaFX中的依赖注入
gluon
依賴注入抽象框架Gluon Ignite在幾個流行的依賴注入框架(例如Spring,Dagger和Guice)上創(chuàng)建了一個通用抽象。
目前,Gluon 頁面僅包含一個示例,該示例使用Gluon Ignite和Google Guice作為依賴注入框架,我想嘗試使用Dagger代替它,因為它的目標(biāo)是比其他依賴注入框架更簡約和更快,這對于功能較弱的功能來說非常有趣移動和嵌入式等設(shè)備。 除此之外,它是Google Guice的開發(fā)人員發(fā)明的,但是使用注入方法的方式較少。
在第一步中,您必須將dagger依賴項添加到您的maven pom(或gradle構(gòu)建文件)中:
之后,執(zhí)行mvn clean并安裝或右鍵單擊并選擇:“ reload pom”和“ clean and build”。 現(xiàn)在,您可以通過創(chuàng)建一個新字段開始將其集成到JavaFX主應(yīng)用程序中:
DaggerContext類帶有先前添加的maven依賴項形式。 它的實例化將JavaFX Main類(this)作為第一個參數(shù),將DaggerModule作為第二個參數(shù)。 必須手動創(chuàng)建此模塊:
創(chuàng)建DaggerModules時,必須使用@Module注釋對Module類進行注釋,并且還必須注入JavaFX Main類(在本示例中為MainApp.class)。
如果還想注入FXMLLoader對象,則必須創(chuàng)建一個帶有@Provices注釋的方法,該方法返回FXMLLoader實例。
在注入其他對象的情況下,有兩種注入方法。 您可以向dagger模塊添加其他提供方法,例如:
或者,您可以在SampleController類中創(chuàng)建一個標(biāo)準(zhǔn)的無參數(shù)構(gòu)造函數(shù),該構(gòu)造函數(shù)以@Inject進行注釋,例如:
如果您不執(zhí)行此步驟之一,則JavaFX Main類不會編譯,因為Dagger使用生成的代碼來注入相應(yīng)的類,而不是像其他Dependency Frameworks那樣大量使用反射。
鏈接和進一步閱讀
Gluon Ignite提供了一種非常好的方法,可以在JavaFX應(yīng)用程序中集成不同的Dependency Framework。 除此之外,使用Gluon Ignite更改相應(yīng)的DI真的很容易。 試試看!
翻譯自: https://www.javacodegeeks.com/2016/01/dependency-injection-javafx-gluon-ignite-dagger.html
gluon
總結(jié)
以上是生活随笔為你收集整理的gluon_带有Gluon Ignite和Dagger的JavaFX中的依赖注入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高处作业指的是什么 多高算高处作业呢
- 下一篇: 交桩是什么意思 什么是交桩