首頁 > Java > java教程 > 主體

為什麼我在使用 MongoDB 的 Spring RESTful API 中收到「欄位需要一個無法找到的類型的 bean」錯誤?

Susan Sarandon
發布: 2024-11-01 12:49:30
原創
553 人瀏覽過

Why am I getting the

使用MongoDB 的Spring RESTful API 中出現「欄位需要找不到類型的bean」錯誤

嘗試將MongoDB 與Spring RESTful API 整合時,使用者可能會遇到錯誤「'Field required a bean of type that Could not be find.'」此錯誤表明Spring 應用程式無法找到必需的bean,在本例中, UserService bean。

該錯誤是由 Spring 掃描項目中組件的方式引起的。預設情況下,Spring 會掃描帶有 @SpringBootApplication 註解的套件中的元件。在這種情況下,依賴 UserService 的 UsersController 類別位於預設掃描路徑之外。

要解決此問題,主要有兩種方法:

方法1 :自訂套件掃描

使用下列指令手動指定應掃描元件的套件@SpringBootApplication(scanBasePackages={...}) 註解。在這種情況下,將以下行新增至主應用程式類別:

<code class="java">@SpringBootApplication(scanBasePackages={"main.java.service", "main.java.rest"})</code>
登入後複製

這將指示 Spring 掃描服務包和其餘套件中的元件。

方法 2:重組包結構

或者,重組項目的包結構以確保所有相關組件都在同一個包內 包裹。在這種情況下,請如下重新組織專案:

src/
├── main/
│   └── java/
|       └── com.example/
|       |   ├── Application.java
|       |   ├── model/
|       |   |   └── User.java
|       |   ├── rest/
|       |   |   ├── IndexController.java
|       |   |   └── UsersController.java
|       |   ├── service/
|       |   |   └── UserService.java
└── resources/
    └── application.properties
登入後複製

這將確保與 UserService 相關的所有元件都在同一個套件內,Spring 會自動掃描它們。

以上是為什麼我在使用 MongoDB 的 Spring RESTful API 中收到「欄位需要一個無法找到的類型的 bean」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!