成都网站建设设计

将想法与焦点和您一起共享

SpringBoot知识点-创新互联

发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都发电机维修等,在重庆网站建设公司全网营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。

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初始化所有非懒加载的单例对象

.

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章题目:SpringBoot知识点-创新互联
文章转载:http://chengdu.cdxwcx.cn/article/eehei.html