springboot学习:《知识篇》SpringApplication介绍(下)

7、Web环境
SpringApplication 会根据你的行为来创建正确的ApplicationContext 。决定WebApplicationType 的算法如下:
①如果使用了Spring MVC,创建AnnotationConfigServletWebServerApplicationContext;
②如果未使用了Spring MVC,使用了Spring WebFlux,创建
AnnotationConfigReactiveWebServerApplicationContext;
③其他,创建AnnotationConfigApplicationContext。
意味着,如果你使用了Spring MVC,但是存在Spring WebFlux的WebClient ,那么默认创建AnnotationConfigServletWebServerApplicationContext。可以通过调用setWebApplicationType(WebApplicationType)来覆盖。

8、访问Application参数
如果需要访问传递给SpringApplication.run(…)的应用程序参数,可以插入org.springframework.boot.application arguments bean。ApplicationArguments接口提供对原始字符串[]参数以及已分析的选项和非选项参数的访问。

9、使用ApplicationRunner或CommandLineRunner
ApplicationRunner或CommandLineRunner接口可以实现在SpringApplication 开始之前,提前运行其内的run()。

10、退出
每个SpRunpApple应用JVM注册一个关闭钩子,以确保Apple上下文在退出时关闭。可以使用所有标准的Spring生命周期回调(例如DisposableBean接口或@PreDestroy注释)。
另外,SpringApplication.exit()被调用时,如果希望返回一段特殊的退出代码,beans可能要实现org.springframework.boot.ExitCodeGenerator接口。退出代码将作为状态码,通过System.exit()返回。如:

@SpringBootApplication
public class ExitCodeApplication {

	@Bean
	public ExitCodeGenerator exitCodeGenerator() {
		return () -> 42;
	}

	public static void main(String[] args) {
		System.exit(SpringApplication.exit(SpringApplication.run(ExitCodeApplication.class, args)));
	}

}

11、管理特性
通过指定spring.application.admin.enabled属性来操作。

发布了20 篇原创文章 · 获赞 0 · 访问量 505

猜你喜欢

转载自blog.csdn.net/weixin_43859070/article/details/104082951