Java 创建可配置的Spring应用程序上下文层次结构
我基本上想做的是用多个ApplicationContexts构建一个Webapp。这可以通过SpringApplicationBuilder实现。我面临的问题是,您必须在Spring Boot应用程序中硬编码所有ApplicationContextsJava 创建可配置的Spring应用程序上下文层次结构,java,spring,spring-boot,domain-driven-design,Java,Spring,Spring Boot,Domain Driven Design,我基本上想做的是用多个ApplicationContexts构建一个Webapp。这可以通过SpringApplicationBuilder实现。我面临的问题是,您必须在Spring Boot应用程序中硬编码所有ApplicationContexts 我正在寻找一种方法来加载每个配置的子模块的ApplicationContexts?我想包括和排除特定maven构建的模块。这可能吗?这些模块彼此独立,因为我们使用的是域驱动的方法。您可以简单地使用命令行参数来决定运行哪个模块 public enum
我正在寻找一种方法来加载每个配置的子模块的ApplicationContexts?我想包括和排除特定maven构建的模块。这可能吗?这些模块彼此独立,因为我们使用的是域驱动的方法。您可以简单地使用命令行参数来决定运行哪个模块
public enum Module {
MODULE1(Context1.class), MODULE2(Context2.class), MODULE3(Context3.class);
Module(Class contextClass) ...
}
SpringApplicationBuilder builder = new SpringApplicationBuilder()
.sources(Parent.class)
.bannerMode(Banner.Mode.OFF);
String[] modules = args[0].split(",");
for(int i = 0; i < modules.length; i++){
builder.child(Module.valueOf(modules[i]).contextClass);
}
builder.run(args);
在上面的简单示例中,您可以为启动提供逗号分隔的模块,如:
mvn spring引导:run-Drun.arguments=module2,module3