然后我们进入run()方法中看。代码比较简单
public static ConfigurableApplicationContext run(Class<?> primarySource, String… args) {
// 调用重载的run方法,将传递的Class对象封装为了一个数组
return run(new Class<?>[] { primarySource }, args);
}
调用了重载的一个run()方法,将我们传递进来的类对象封装为了一个数组,仅此而已。我们再进入run()方法。
public static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args) {
// 创建了一个SpringApplication对象,并调用其run方法
// 1.先看下构造方法中的逻辑
// 2.然后再看run方法的逻辑
return new SpringApplication(primarySources).run(args);
}
在该方法中创建了一个SpringApplication对象。同时调用了SpringApplication对象的run方法。这里的逻辑有分支,先看下SpringApplication的构造方法中的逻辑
我们进入SpringApplication的构造方法,看的核心代码为
public SpringApplication(ResourceLoader resourceLoader, Class<?>…