4

モジュール テストと一般的な Web アプリの起動時間を短縮するために、コンポーネント スキャンを回避しようとしています。

に置き換える@SpringBootApplication@SpringBootConfiguration @EnableAutoConfiguration、次のエラーが表示されます。

EmbeddedServletContainerFactory Bean が見つからないため、EmbeddedWebApplicationContext を開始できません

どうにかして手動でインポートできますEmbeddedServletContainerFactoryか?

4

2 に答える 2

3

私の提案は、最初にデバッグ フラグをオンにしてアプリケーションを実行し、アクティブ化されたすべての自動構成を書き留めることです。@Import次に、自動構成を無効にし、アプリケーション クラスでを使用してそれらの構成をインポートします。

または、これらの各構成クラスを見て、Spring Boot が構成するものを確認し、代わりに独自の構成を提供するかどうかを決定できます。自動構成クラスを模倣するだけで、すべてが同じように機能するはずです。

于 2016-08-01T08:58:46.557 に答える
2

ミロシュピーターは、答えを見つける手段を提供してくれました。最小限の Spring Boot Web アプリケーションは、以下で開始できます。

@SpringBootConfiguration
@Import({EmbeddedServletContainerAutoConfiguration.class})
public class Application extends SpringBootServletInitializer {
   ...
}

ServerPropertiesAutoConfiguration.classアプリケーションのポート番号などを取得するのにも便利な場合があります。

于 2016-08-02T13:48:46.560 に答える