//springboot應用啟動,呼叫此方法
return run(new object , args);
}
}
//初始化
initialize(sources);
} private void initialize(object sources)
//當前應用是否是web應用
this.webenvironment = deducewebenvironment();
setinitializers((collection) getspringfactoriesinstances(
//從多個配置類中找到有main方法的主配置類
} //其他略
}
/***/
stopwatch stopwatch = new stopwatch();
stopwatch.start();
failureanalyzers analyzers = null;
configureheadlessproperty();
listeners.starting();
try
//整個springboot啟動完成以後,返回啟動的ioc容器
return context;
} catch (throwable ex)
}
}
不需要配置在meta-inf/spring.factories,只需要加入到ioc容器的事件是:
commandlinerunner。
Spring Boot啟動配置原理
run 列印banner資訊 建立ioc容器物件 run 重新整理啟動ioc容器 掃瞄載入所有容器中的元件 包括從meta inf spring.factories中獲取的所有enableautoconfiguration元件 配置在meta inf spring.factories command...
SpringBoot之啟動配置原理
commandlinerunner 以main方法為入口 initialize sources private void initialize object sources 判斷當前是否乙個web應用 this.webenvironment deducewebenvironment setiniti...
SpringBoot 啟動配置原理(十八)
前兩個是 配置在meta inf spring.factories,後兩個是只需要放在ioc容器中。initialize sources private void initialize object sources 判斷當前是否乙個web應用 this.webenvironment deducewe...