Ole*_*Ole 9 java spring spring-boot
我正在阅读Spring微服务教程,其中包含以下内容:
new SpringApplicationBuilder(ZuulApplication.class).web(true).run(args);
Run Code Online (Sandbox Code Playgroud)
大多数时候我看到这个启动一个Spring Boot应用程序:
SpringApplication.run(Application.class, args);
Run Code Online (Sandbox Code Playgroud)
这是我第一次看到SpringApplicationBuilder.我们什么时候应该使用它?
在我们的应用程序中,我们已SpringApplicationBuilder在该starter应用程序中使用过。starter是一个简单的应用程序,它将以编程方式启动实际的应用程序实例。
starter基于将启动应用程序实例的参数,将要启动的进程数和Web /独立进程的类型作为参数传递给应用程序。我们曾经-w作为状态管理的Web应用程序开始使用。
boolean isWeb = // options parser, parse -w
new SpringApplicationBuilder(SpringBootAngularApp.class).web(isWeb).run(args);
Run Code Online (Sandbox Code Playgroud)
还有另一种方法可以做到这一点
SpringApplication sp = new SpringApplication(SpringApplicationBuilder.class);
sp.setWebEnvironment(false);
sp.run(args);
Run Code Online (Sandbox Code Playgroud)
我们还可以使用来定制横幅记录器SpringApplicationBuilder。
阅读文档以了解更多用法
假设您必须解决一个问题,即需要使用多个数据库或结构,并且每个数据库或结构都需要彼此隔离,在这种情况下,我将使用一种SpringApplicationBuilder方法,因为可以通过创建父级来隔离每个域和子上下文,而无需混合使用不同的域问题,例如,您可以具有Application1和Application2配置,每个配置都具有自己的域,控制器和存储库,但您不想混合所有这些复杂性,而不必您可以使用创建两个不同的配置SpringApplicationBuilder
SpringApplicationBuilder appBuilder = new SpringApplicationBuilder()
.sources(Parent.class);
appBuilder.child(Application1.class).run(args);
appBuilder.child(Application2.class).run(args);
Run Code Online (Sandbox Code Playgroud)
一些额外的信息:邮政与SpringApplicationBuilder的例子,SpringBuilder的Java文档以及如何使用SpringApplicationBuilder的其他例子
| 归档时间: |
|
| 查看次数: |
12129 次 |
| 最近记录: |