2014-02-21 84 views
0

最近我發現有些地方有@Inject註解。它可以注入類。爲@Inject註釋提供注入的最簡單方法是什麼?

如何從提供者端使用它?

假設我希望能寫

class MyClass1 { 

    @Inject 
    MyType2 variable; 

} 

如何使它工作?什麼是絕對必需的?

如果MyType2是抽象類的接口呢?

+1

您需要像Spring,Guice或CDI這樣的依賴注入框架。 –

+0

那麼爲什麼'@Inject'是在主Java EE庫中定義的? – Dims

+0

因爲CDI是Java EE的核心部分。 –

回答

1

的@Inject註解在JSR 330規定:Java依賴注入(鏈接:JSR330)在各種應用服務器上託管的應用程序的Web容器使用

它。

依賴注入爲變量提供了一個代理類,直到它真的被使用。那麼容器將注入相關的類並可以使用它。 所以你需要一個容器,因爲它的任務是將類注入注入點。

如果你想使用依賴注入在Java SE環境中,你可以檢查出谷歌吉斯(鏈接:Google Guice

「如果MyType2是什麼抽象類的接口?」

它根本不可能實例化一個抽象類,所以我想它會失敗。

+0

「MyType2」可以用一些後代和/或實現者實例化 – Dims

相關問題