level 1
皮卡1234摩羯
楼主
每个Spring Boot项目都有一个主程序启动类,在主程序启动类中有一个启动项目的main()方法,在该方法中通过执行SpringApplication.run()即可启动整个Spring Boot程序。
问题:那么SpringApplication.run()方法到底是如何做到启动Spring Boot项目的呢?
下面我们查看run()方法内部的源码,核心代码具体如下:
```java
@SpringBootApplication
public class SpringbootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemoApplication.class, args);
}
}
```
```java
public staticConfigurableApplicationContext run(Class<?> primarySource,
String... args) {
returnrun(new Class[]{primarySource}, args);
}
public staticConfigurableApplicationContext run(Class<?>[] primarySources,
String[] args) {
return(new SpringApplication(primarySources)).run(args);
}
```
从上述源码可以看出,SpringApplication.run()方法内部执行了两个操作,分别是SpringApplication实例的初始化创建和调用run()启动项目,这两个阶段的实现具体说明如下
这些内容,是从拉勾教育的《Java工程师高薪训练营》里学到的,课程内容非常全面,还有拉勾的内推大厂服务,推荐你也看看。