SpringBoot启动过程源码
2023-10-28 21:50:46 0 举报
SpringBoot启动过程源码 上课笔记
作者其他创作
大纲/内容
对应着四个map集合,里面存储的是环境变量如果四个集合里面存储的环境变量有重复,则有一个优先级。优先级从上到下,依次递减
将BeanNameGenerator加入到BeanFactory里面去
根据不同的应用类型来创建不同的Spring容器
afterRefresh()是模板方法
SpringApplication的构造方法
会从Environment里面获取random.int参数
添加randomvaluePropertySource到Environment对象当中这个PropertySource用来生成随机数但这个PropertySource只解析以random.开头的key
new SpringApplication(primarySources).run(args)
监听着ApplicationEnvironmentPreparedEvnet事件
从SpringFactories文件(键值对文件)中取出相应的值
run()
1、如果说有Webflux类,则说明这个应用是一个Reactive应用2、如果说没有Webflux也没有Servlet类,则说明不是一个Web应用3、否则是一个Servlet应用
生成一个0~100的随机数,存入random.int配置项中
给当前要创造的这个SpringApplication对象中的属性赋值
推断当前的应用类型
用来发布事件
解析Properties文件中的配置项目到Environment对象中
判断.properties文件中有没有配置spring.profiles.active=dev
类似于SpringContext对象,类似于Spring容器,是用来存其他对象的
先从指定的路径下找到.properties文件,并将文件中的内容解析到一个集合中
取相同的路径下找-dev文件的Properties文件,并将里面的内容放入集合中
先将env集合中的内容生成PropertySource,放入Environment对象中再将.properties文件中的内容放入Environment对象中
0 条评论
下一页