springboot
2020-09-17 10:20:51 31 举报
springboot 个人笔记
作者其他创作
大纲/内容
4+1+1+1
1. 配置resourceLoader2.设置primarySources3.判断应用程序类型REACTIVE、NONE、SERVLET4.获取监听器List<类名>META-INF/spring.factoriesApplicationContextInitializer 、 ApplicationListener11个对象5.获取监听器List<实例>6.获取主类 通过堆栈异常信息 一直能找到最开始的main方法 new RuntimeException().getStackTrace()
1.注册主类(@component)+别名
拿到最上边初始化加载的11个listener
ConfigFileApplicationListener.java
14.2添加一些转换器
ApplicationContextInitializer :spring-bootspring-boot-autoconfigurespring-boot-devtools2+1+4=7ApplicationListener:
14.4ApplicationContextInitializedEvent
14.13listeners.contextLoaded(context);5个listenner
遍历
14.12load()loader.load()
9.1. 初始化ConfigurableEnvironment指定基本参数
DelegatingApplicationListener
new SpringApplication(primarySources)
retrieveApplicationListeners
14.1设置环境值
4.设置java.awt.headless
PropertiesPropertySourceLoader.java
6. starting()
返回(4个符合)
7. starting()
9.6环境变量是否符合类型不符合的话做一些转换
9.7加一些属性
addPropertySources
4+1+1
参数
11.打印Banner
listeners.environmentPrepared(environment)
12.创建ApplicationContext
事件发布观察者模式(回调)
multicastEvent()
getApplicationListeners()
创建他的时候,已经把上边11个listener给了他(构造里边初始化的)
getPropertySources
1.2 configureEnvironment()
invokeListener
排个序
8. 参数解析args
1.1 getOrCreateEnvironment()
18.启动listeners
19.启动ApplicationRunner/CommandLineRunner
run(args)
10.configureIgnoreBeanInfo(environment);设置忽略的bean信息
14.5.启动日志
StandardServletEnvironment.java方法:customizePropertySources()俩值:servletContextInitParamsservletConfigInitParamsStandardEnvironment.java方法:customizePropertySources()俩值:systemEnvironmentsystemPropertiesConfigurationPropertySources.javaconfigurationProperties
14.7注册一个单例对象springApplicationArguments
啥都没做
自己postProcessEnvironment()
设置命令行参数propertySources加载到环境中
14.6添加beanfactory
2.设置应用上下文null
14.3 7个initializer 初始化
LiquibaseServiceLocatorApplicationListener
配置文件被加载进来了
CloudFoundryVcapEnvironmentPostProcessorj加了一个PropertiesPropertySource
14.8banner打印对象也注册到beanfactory中
14.9设置是否允许bean重写
集合里其实是
ApplicationEnvironmentPreparedEvent
3.设置异常报告
转换器 验证器 json 字符集 初始化 启动
14.prepareContext
5.获取SpringApplicationRunListener集合<SpringApplicationRunListener>
9.5当前环境绑定到Application中bindToSpringApplication(environment);
17.打印时间
加载4个默认配置资源还会加载很多环境变量比如java版本啊 等
初始化日志系统
9.2. 配置环境
onApplicationEvent(ApplicationEvent event)
ApplicationPreparedEvent
9.3. 添加configurationProperties
reader 读取@service @componet等一些注解@conditionxxx 也在这里边scanner 扫描注解
args就是--xxx 传递的参数
ConfigurationPropertySources.attach(environment);
loadPostProcessors加载出来3+1+1(自己)个对象然后循环调用postProcessEnvironment()做一个类型转换
1. ConfigurableEnvironment()
15.refreshContext
好多爹都会被创建
其实就是他的方法 starting()
YamlPropertySourceLoader.java
load
load()
14.11加载source (primarySources)
配置文件中的${random.xxx}RandomValuePropertySource
启动
14.10是否懒加载
EventPublishingRunListener
resolveDefaultEventType()
16.afterRefresh
BackgroundPreinitializer
LoggingApplicationListener
1.多种多样转换器给到ConversionService2.ConversionService加到环境中
遍历上边集合 逐个启动
1.设置启动时间
过滤符合ApplicationStartingEvent监听
放缓存
Loader
设置spring.profiles加载到环境中
ApplicationStartingEvent
9.4.类似第7步骤初始化ApplicationEnvironmentPreparedEvent相关的11个中符合的listenner 7个
13.初始化exceptionReporters
收藏
0 条评论
下一页