錯誤:在使用MongoDB 的Spring RESTful API 中「欄位需要無法找到的類型的bean」
開發RESTful API 時使用Spring與MongoDB 集成,您可能會遇到錯誤:
Field userService in main.java.rest.UsersController required a bean of type 'main.java.service.UserService' that could not be found.
解釋:
當Spring 應用程式上下文無法找到指定的類型,在本例中為UserService。 Spring bean 是一個可以由 IoC 容器管理的物件。
可能的原因:
解決方案一:註解UserService類別
新增@Service註解UserService 類別:
<code class="java">@Service public class UserService implements MongoRepository<User, String> { // ... }</code>
解決方案:重構包結構
確保UserService 類別與正在掃描和使用的元件位於同一個套件或子包中它。這是因為 Spring 預設會自動掃描目前套件及其子套件。
解決方案3:設定元件掃描
如果UserService 類別位於不同的套件中,則可以使用@SpringBootApplication註解手動設定元件掃描:
<code class="java">@SpringBootApplication(scanBasePackages = {"main.java.com.example.api", "main.java.com.example.service"}) public class Application { // ... }</code>
在這個範例中,API和服務包都會被掃描以尋找帶有註解的元件,包括UserService類別。
其他提示:
以上是為什麼我在使用 MongoDB 的 Spring RESTful API 中收到「欄位 userService 需要一個類型為「main.java.service.UserService」的 bean,但無法找到」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!