问题 创建具有多个子上下文的spring启动应用程序


我正在尝试使用具有分层应用程序上下文的spring boot创建应用程序。 我目前的主要方法如下:

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

并且两个子配置注释为:

@EnableAutoConfiguration
@Configuration

我们的想法是让父上下文包含所有公共bean和每个子上下文,以便在与其兄弟姐妹隔离时运行自己的MVC。

不幸的是,当我运行上面的命令时,只会初始化并启动最后一个子上下文。

任何指向正确方向的人都会非常感激。

问候,

亚历山德罗


10130
2017-08-19 13:48


起源



答案:


child(...) 方法创建和 回报 另一个 SpringApplicationBuilder,所以当你打电话给那一秒 child(...) 方法,你没有为孩子实例化一个兄弟,你在第一个孩子上生孩子,这使得父母变成了 爷爷

抛开笑话,看看 兄弟(...) 允许使用相同父级创建另一个上下文的方法。

你也可以看看 资源 确切地看到发生了什么。


9
2018-04-08 22:52