エラー メッセージ「フィールドには、見つからないタイプの Bean が必要でした」は、Spring が依存関係の注入に必要な Bean が見つかりません。これは、Bean が Spring アプリケーション コンテキストで正しく設定または登録されていない場合に発生する可能性があります。
この場合、エラーは UsersController クラスの UserService 依存関係を示しています。 UserService インターフェイスはサービス パッケージで宣言されていますが、どの構成ファイルにも Bean として登録されていません。
このエラーに対処するには、UserService インターフェイスを Bean として登録する必要があります。これはいくつかの方法で実現できます。
1. @Configuration クラスの使用:
専用の構成クラスを作成し、それに @Configuration アノテーションを付けます。クラス内で、@Bean アノテーションを使用して UserService の Bean 定義を定義します。
<code class="java">@Configuration public class ServiceConfig { @Bean public UserService userService() { return new UserServiceImpl(); } }</code>
2. XML Bean 定義の使用:
src/main/resources ディレクトリの下にある Beans.xml という名前の XML 構成ファイルで Bean 定義を定義します。
<code class="xml"><beans> <bean id="userService" class="main.java.service.UserServiceImpl" /> </beans></code>
3 。 @SpringBootApplication(scanBasePackages) アノテーションの使用:
@SpringBootApplication アノテーションが付けられたメイン アプリケーション クラスで、scanBasePackages 属性を使用して、Bean 定義が配置されているパッケージを指定します。
<code class="java">@SpringBootApplication(scanBasePackages={"main.java.service"}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }</code>
4.パッケージ構造の修正:
Bean がデフォルトのスキャン パス外の別のモジュールまたはパッケージにある場合は、Bean のパッケージがスキャンに確実に含まれるようにプロジェクトを再構築することを検討してください。 UserService インターフェイスと実装を、コントローラーとサービス モジュールの両方がアクセスできる共有パッケージに移動します。
以上がMongoDB を使用した Spring RESTful API での「Bean が見つかりません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。