我尝试使用具有分层应用程序上下文的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。
不幸的是,当我运行上面的命令时,只会初始化并启动最后一个子上下文。
任何指向正确方向的人都会非常感激。
此致
的Alessandro
答案 0 :(得分:12)
child(...)
方法创建,返回另一个SpringApplicationBuilder
,所以当你调用第二个child(...)
方法时,你没有为孩子实例化兄弟,你是在第一个孩子上养孩子,这使得父母成为爷爷。
除了笑话,看看sibling(...)方法,它允许用同一个父母创建另一个上下文。
您还可以查看source,了解具体情况。