2011-10-20 36 views
38

確實,javax.inject註釋可以直接替代com.google.inject?因此,如果我將所有當前的guice/gin註釋替換爲javax.inject中的那些註釋,我的應用程序將編譯並運行得很好嗎?用javax.inject替換com.google.inject

首先,javax.inject覆蓋了google.inject覆蓋的所有基礎嗎?

+1

請不要編輯我的guice標籤。 –

回答

33

是的,它會正常工作。實際上,Guice(Bob Lee)的作者是javax.inject規範的spec-lead。

javax.inject.Inject沒有optional屬性,所以如果你想要一個可選的依賴項,你必須使用guice註解。

10

其實,我選擇切換到javax.inject不要,因爲我發現了規範相比,有什麼吉斯提供了許多簡約(我使用):

  • @Optional由@Bozho
  • 提到
  • @ImplementedBy當您希望減少顯式綁定的數量(爲了代碼清晰度)以及您希望能夠輕鬆覆蓋缺省綁定(例如,用於集成測試)時,這非常有用。

有可能是其他人,但對我來說,這2個已經showstoppers。

+17

@Bozho是一個guice註釋嗎?開玩笑!!! –

1

這個問題是相當古老的,但... 供參考:你可以自動check that on apiwave

通過學習過去的變化,我們看到com.google.inject.Inject可以被替換爲javax.inject.Inject