获取run方法的侦听器的方法为SpringApplication的getRunListeners(args),该方法的定义为:
private SpringApplicationRunListenersgetRunListeners(String[] args) {
//SpringApplicationRunListener的构造函数的参数类型
Class[] types =new Class[] { SpringApplication.class, String[].class };
//返回一个SpringApplicationRunListeners实例
return new SpringApplicationRunListeners(logger,
//从SpringFactoriesLoader加载所有的SpringApplicationRunListener类型的实例
getSpringFactoriesInstances(SpringApplicationRunListener.class, types, this, args),
this.applicationStartup);
}