我正在尝试使用具有分层应用程序上下文的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。
不幸的是,当我运行上面的命令时,只会初始化并启动最后一个子上下文。
任何指向正确方向的人都会非常感激。
问候,
亚历山德罗
child(...)
方法创建并返回另一个SpringApplicationBuilder
,所以当你调用第二个child(...)
方法时,你没有为孩子实例化一个兄弟,你在第一个孩子上生孩子,这使得父母变成了爷爷。
除了笑话,看看sibling(...)方法,该方法允许使用相同的父级创建另一个上下文。
您还可以查看source,看看究竟发生了什么。