web-dev-qa-db-ja.com

複数の子コンテキストを持つSpringBootアプリケーションを作成します

階層的なアプリケーションコンテキストでSpringBootを使用してアプリケーションを作成しようとしています。私の現在の主な方法は次のようになります。

public static void main(String[] args) {
    new SpringApplicationBuilder(TestApplication.class)
            .child(AuditServiceConfiguration.class).web(true)
            .child(TaskServiceConfiguration.class).web(true)
            .run(args);
}

2つの子構成には次の注釈が付けられます。

@EnableAutoConfiguration
@Configuration

アイデアは、すべての一般的なBeanを含む親コンテキストと、兄弟から分離された状態で独自のMVCを実行する各子コンテキストを持つことです。

残念ながら、上記を実行すると、最後の子コンテキストのみが初期化されて開始されます。

正しい方向へのポインタは大歓迎です。

よろしく、

アレッサンドロ

15

child(...)メソッドは、別のSpringApplicationBuilderを作成し、returnsするため、2番目のchild(...)メソッドを呼び出すと、子の兄弟をインスタンス化するのではなく、最初の子で子を作成します。これにより、親はおじいちゃんになります。

冗談はさておき、同じ親を持つ別のコンテキストを作成できる sibling(...) メソッドを見てください。

source をチェックして、何が起こっているのかを正確に確認することもできます。

14
ESala