– run()
列印banner資訊
建立ioc容器物件
– run()配置在meta-inf/spring.factories• 重新整理啟動ioc容器;
– 掃瞄載入所有容器中的元件
– 包括從meta-inf/spring.factories中獲取的所有enableautoconfiguration元件
commandlinerunner
只需要放在ioc容器中
initialize(sources);
private void initialize(object sources)
//判斷當前是否乙個web應用
this.webenvironment = deducewebenvironment();
setinitializers((collection) getspringfactoriesinstances(
//從多個配置類中找到有main方法的主配置類
//整個springboot應用啟動完成以後返回啟動的ioc容器;
return context;
}catch (throwable ex) }
配置在 meta-inf/spring.factories
@override
}} //必須有的構造器
}@override
public void starting()
@override
public void environmentprepared(configurableenvironment environment)
@override
}@override
}@override
}} 配置(meta-inf/spring.factories)
只需要放在ioc容器中
@component
@override}}
commandlinerunner
@component
public class hellocommandlinerunner implements commandlinerunner
}
SpringBoot啟動配置原理
springboot應用啟動,呼叫此方法 return run new object args 初始化 initialize sources private void initialize object sources 當前應用是否是web應用 this.webenvironment deducew...
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...