从品牌网站建设到网络营销策划,从策略到执行的一站式服务
SpringBoot整体启动流程
1.BeanFactory和FactoryBean
BF通过工厂创建一系列的相同对象
FB用来生成独特的拥有复杂属性的对象(例如OpenFeigh用了FB)
2,SpringBoot源码
SpringApplication的构造方法
PrepareContext上下文中设置一系列属性值
load之前beanDefinationMap里是不包含当前的启动类的
load之后当前启动类已经出现在beanDefinitionMap里了
isComponent是检查当前类上的注解以及当前注解的层级中是否包含@Component
onRefresh会回到Spring里面的,obtainFreshBeanFactory获取工厂对象
方法比较长,但是基本上都是重复的模板处理过程,比较容易理解
Apply processing and build a complete ConfigurationClass by reading the annotations, members and methods from the source class. This method can be called multiple times as relevant sources are discovered.
Params:
configClass – the configuration class being build
sourceClass – a source class
Returns:
the superclass, or null if none found or previously processed
递归获取每个层级上的@Import
最终获取到@SpringBootApplication这个注解往上层级中所有的包含@Import的注解
都处理完之后回到parse方法,注意188行
这里就是自动配置的重点了
我们可以在spring.factories找到这些需要自动配置的类
处理过程中会去掉那些我们不需要的(根据starter)
接着回到refresh中,目前这些对象都还没有创建
onRefresh方法是创建webServer(一般是tomcat)的地方
finishBeanFactoryInitialization初始化所有非懒加载的单例对象
.
0
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图