经验分享

Spring Boot 应用程序启动流程分析

SpringBoot有两个关键元素:@SpringBootApplicationSpringApplication以及run()方法 SpringApplication这个类应该算是SpringBoot框架的“创新”产物了,原始的Spring中并没有这个类,SpringApplication中封装了一套Spring应用的启动流程,然而这对用户完全透明,因此我们上手SpringBoot时感

SpringBoot 有两个关键元素:


@SpringBootApplication
SpringApplication 以及 run() 方法

 

SpringApplication 这个类应该算是 Spring Boot 框架的“创新”产物了,原始的 Spring 中并没有这个类,SpringApplication 中封装了一套 Spring 应用的启动流程,然而这对用户完全透明,因此我们上手 Spring Boot 时感觉很简洁、轻量。

 

一般来说默认的 SpringApplication 执行流程已经可以满足大部分需求,但是若用户想干预这个过程,则可以通过 SpringApplication 在流程某些地方开启扩展点来完成对流程的扩展,典型的扩展方案那就是使用 set 方法。

 

比如,把我们天天司空见惯的 Spring Boot 应用的启动类来拆解一下写出来就是这样:

@SpringBootApplicationpublic class CodeSheepApplication {	public static void main( String[] args ) {		//SpringApplication.run( CodeSheepApplication.class args ); 
		SpringApplication app = new SpringApplication( CodeS

原创不易,完成人机校验,阅读全文

相关推荐