Spring と MongoDB を使用して RESTful Web サービスを開発する場合、次のような問題が発生する可能性があります。次のようなエラーが発生します:
<code class="text">APPLICATION FAILED TO START ... Field userService in main.java.rest.UsersController required a bean of type 'main.java.service.UserService' that could not be found.</code>
この問題は通常、Spring がアプリケーション コンテキスト内で必要な Bean を見つけられない場合に発生します。この場合、エラー メッセージは、Spring が UserService Bean のインスタンスを見つけられないことを示しています。
考えられる解決策 1: パッケージ スキャンの構成
デフォルトでは、Spring @SpringBootApplication のアノテーションが付けられたパッケージ内の Bean をスキャンします。サービス クラス (例: UserService) がスキャンされたパッケージの外部にある場合、 @SpringBootApplication(scanBasePackages={"...", "..."}) を使用して、スキャンする基本パッケージを明示的に指定できます。
考えられる解決策 2: プロジェクト パッケージの再構築
または、プロジェクトのパッケージ構造を再構築して、すべての Bean 定義クラスがスキャンされたパッケージ内に含まれるようにすることもできます。たとえば、サービス クラスを、Application.java が存在するメイン パッケージの下のパッケージに移動できます。
Bean 構成の問題に対処すると、エラーは解決され、アプリケーションで次のことができるようになります。正常に実行されました。
以上がMongoDB を使用した Spring RESTful API が「フィールド userService には、見つからないタイプの Bean が必要でした」エラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。