奇妙な問題に遭遇しました。最上位のパッケージがスキャン対象として指定されている場合、コンポーネント スキャンはサブ パッケージを再帰的にスキャンするという印象を受けます。
私のリポジトリとエンティティは、プロジェクトの Maven 依存関係です。それらはパッケージ名 com.foo.bar.xyz の下にあり、私のアプリケーション構成はパッケージ com.foo.bar の下にあります。と書く@ComponentScan(basePackages = "com.foo.bar")
と、@EnableJpaRepositories
リポジトリビーンが見つからないというエラーが表示されます。
@EnableJpaRepositories(basePackages = com.foo.bar.xyz)
ただし、上記のコンポーネントスキャンとともに、のようなトップレベルのリポジトリパッケージを指定すると、リポジトリが正常に検出されます。
これは、リポジトリとエンティティが Maven の依存関係として注入されているためだけに発生していますか? コンポーネントスキャンの再帰部分は、サブパッケージまたはサブディレクトリをスキャンしますか?