创建具有多个子上下文的 Spring Boot 应用程序

2024-04-20

我正在尝试使用 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,同时与其同级上下文隔离。

不幸的是,当我运行上面的代码时,只有最后一个子上下文被初始化并启动。

任何正确方向的指示将不胜感激。

Regards,

亚历山德罗


The child(...)方法创建和returns其他SpringApplicationBuilder,所以当你调用第二个child(...)方法,您不是为孩子实例化兄弟,而是在第一个孩子上创建一个孩子,这使得父母成为grandpa.

笑话抛开,看看兄弟(...) http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/builder/SpringApplicationBuilder.html#sibling-java.lang.Object...-方法允许创建具有相同父级的另一个上下文。

您还可以查看source https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/builder/SpringApplicationBuilder.java#L251看看究竟发生了什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建具有多个子上下文的 Spring Boot 应用程序 的相关文章

随机推荐