新しい Spring Boot Web アプリケーションを作成したいと考えています。
私の構造は次のようになります。
com.base.package
MyApplication
config
domain
repository
service
web
私は2つの方法で行くことができます:
- MyApplication にアノテーションを付け
@SpringBootApplication
て、コントローラー、JPA リポジトリーなどを見つけられるようにします。 - などを一緒に使用して
@EnableWebMvc
、さまざまなコンポーネント タイプの基本パッケージを明示的に指定します。@EnableJpaRepostories
@ComponentScan(basePackages=...)
私は喜んで最初のアプローチを採用しますが、Spring が特定のパッケージではなくすべてをスキャンするため、(アプリのコードベースが大幅に拡大した場合) アプリケーションの起動に時間がかかるという懸念があります。ただし、少なくとも 1 回はこれらのファイルをすべて読み取って、Bean を見つける必要があります。
質問は次のとおりです。
Spring (Boot) は、Bean のすべてのサブパッケージを 1 回だけスキャンするほどスマートですか?それとも、デフォルト構成のままにしておくとオーバーヘッドが追加されますか?