首頁 >Java >java教程 >Dagger 2 錯誤:「無法提供…」 – 如何修復依賴注入問題?

Dagger 2 錯誤:「無法提供…」 – 如何修復依賴注入問題?

Barbara Streisand
Barbara Streisand原創
2024-12-20 18:08:13743瀏覽

Dagger 2 Error:

對Dagger 2 依賴項提供錯誤進行故障排除:「無法提供...」

問題:

問題:

問題:

    Dagger 2嘗試存取依賴項時傳回錯誤「無法提供com.example.MyDependency [...]」。此錯誤表示 Dagger 缺乏建立或提供指定依賴項所需的機制。
  • 說明:

如錯誤訊息所示,Dagger 需要兩種方法之一來提供依賴項:

帶有@ Inject 註解的類別建構子

組件模組之一中用@Provides註解的方法

  1. 修正:

    要解決此問題,請確保您已任一:

      @Inject構造函數
    • class MyDependency {
          @Inject
          MyDependency() { /**/ }
      }
    • 將@Inject註解的建構子
    加入您希望用作

範例:
  1. 模組中的方法

      建立模組並新增@Provides註解方法
    • 傳回所需依賴項的實例。

      @Module
      class MyModule {
          @Provides
          MyDependency provideMyDependency() {
              return new MyDependency();
          }
      }
      
      @Component(modules = MyModule.class)
      interface MyComponent {
          MyDependency myDependency();
      }
    • 將模組加入元件宣告
    .

範例:

附加說明:確保提供的和請求的依賴項完全匹配,包括任何接口或限定符。 如果您要擴充或實作其他類,請考慮使用 @Binds 將特定實作對應到介面或超類。

以上是Dagger 2 錯誤:「無法提供…」 – 如何修復依賴注入問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn