モジュールテストや一般的なWebアプリケーションの起動時間を短縮するため、コンポーネントのスキャンを避けようとしています。ComponentScanを使用せずにSpringブートWebアプリケーションを起動するには
私は@SpringBootConfiguration @EnableAutoConfiguration
で@SpringBootApplication
を交換するとき、私は次のエラーを取得する:
Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean
は私が手動で何とかEmbeddedServletContainerFactory
をインポートすることはできますか?
はい、コードがサードパーティ製のライブラリであっても、コード内の構成(注釈付き構成)を「複製」することができます。実際には、何らかの理由で設定を上書きする必要がある場合に便利です。私のテストでは、コンポーネントスキャンを使用するかどうかの違いはごくわずかです。私はそれを避けるだろう。 – rdllopes
'org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration'を見てください。これは、spring-bootが 'EmbeddedServletContainerFactory'を生成する方法です。私は理由を知りたい場合は条件をデバッグしてみてください。なぜなら、あなた自身の工場を登録したいのであれば、適切な 'EmbeddedServletContainerFactory 'EmbeddedServletContainerAutoConfiguration'からのBean設定です。 – Pieter