Spring知识汇总
2021-04-18 14:30:05 5 举报
AI智能生成
Spring相关的拓展点以及生命周期的概括图
作者其他创作
大纲/内容
Bean的生命周期
实例化
BeanPostProcess
postProcessBeforeInitialization
属性注入
判断是否有Spring拓展方法
BeanNameAware
BeanFactoryAware
ApplicationContextAware
Spring的执行处理器[InstantiationAwareBeanPostProcessor]
postProcessPropertyValues
初始化
InitializingBean
afterPropertiesSet()
BeanPostProcessor
服务
销毁
DisposableBean
destroy
IOC启动流程
定位
读取配置
xml中的<bean>
ComponentScan扫描的位置
加载
将定位到的所有bean构建成BeanDefinition对象,方便容器识别处理
注册
将加载的BeanDefinition对象加入到容器进行管理
内置Bean
监听器
注入
参考生命周期和内置对象暴露
SpringBoot
如何自带容器?
ServletWebServerFactory
WebServer
TomcatWebServer
NettyWebServer
UndertowServletWebServer
TomcatServletWebServerFactory
UndertowServletWebServerFactory
JettyServletWebServerFactory
Spring启动流程顺序
Spring的内置对象暴露
注入Spring内部的一些参数赋值阶段
setBeanName
setBeanFactory(BeanFactory beanFactory)
setApplicationContext(ApplicationContext applicationContext)
BeanFactoryPostProcessor
postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
外框
InstantiationAwareBeanPostProcessor
得到bean的class阶段
实例化阶段
属性注入阶段
实例化完成阶段
调用初始化方法
Spring的各个阶段
BeanDefinition阶段
描述
这个阶段是从配置文件(xml、注解等)将类的属性构建成BeanDefinition对象。
容器
BeanDefinitionRegistry
执行器
BeanDefinitionRegistryPostProcessor
案例
Mybatis
1. MapperScannerConfigurer
一般是用于处理自定义的BeanDefinition对象,并将它注册到工厂当中去
2. Bean工厂阶段
这个是整个容器的工厂对象,该对象不仅存放着BeanDefinition,也有Bean对象存放地方。
ConfigurableListableBeanFactory
这个阶段是在BeanDefinition已经被全部加载完成了,如果你需要改变某个写BeanDefintion的属性或者工厂的一些全局属性,可以通过实现该接口去实现.
CustomScopeConfigurer
CacheManagerValidatorPostProcessor
Bean阶段
这个阶段是将BeanDefinition实例化成Bean的阶段。
init方法执行之前,可以为该对象设置一些特定的值
1. ApplicationContextAwareProcessor
如果该bean实现了Aware接口,那么会为他设置一些类似于ApplicationContextAware的值
postProcessAfterInitialization
init方法执行之后,所有属性都已经被填充完整,基本上相当于已经new完了,set完了。
动态代理
AbstractAutoProxyCreator
SpringMVC
核心的主入口
org.springframework.web.servlet.DispatcherServlet
核心的启动流程入口
org.springframework.web.servlet.DispatcherServlet#initStrategies
org.springframework.boot.autoconfigure.web.servlet.DispatcherServletRegistrationBean
启动流程
构建文件上传的解析器
构建多语言解析器
构建主题样式解析器
初始化Mapper与handler的映射
初始化Handler的选择适配
初始化Handler的异常解析器
初始化Handler的视图与名称解析器
初始化视图解析器
org.springframework.context.support.AbstractApplicationContext#refresh
0 条评论
回复 删除
下一页