spring框架
2025-09-24 21:11:51 0 举报
Spring框架是一套全面的开源Java平台,它提供了全面的编程和配置模型,目的是简化Java应用的开发。
作者其他创作
大纲/内容
初始化对象
AnnotationConfigApplicationContext
AbstractApplicationContext
ApplicationContext
scanner
GenericApplicationContext
EventListenerMethodProcessor
向给定的beanFactory 添加 beanPostProcessor
DefaultListableBeanFactory
验证运行环境
ConfigurationClassPostProcessor
ApplicationListenerDetector
SimpleBeanDefinitionRegistry
beanFactory.addBeanPostProcessor(new ApplicationContextAwareProcessor(this));
给仓库添加 bean 处理器
beanFactory.addBeanPostProcessor(new ApplicationListenerDetector(this));
给仓库添加 bean 事件处理器
注册默认环境Bean
此处添加的处理器,将在 invokeBeanFactoryPostProcessors(beanFactory); 处进行调用
BeanFactoryPostProcesser
根据上下文刷新配置
1. register
ApplicationContextAwareProcessor
注册事件广播器
reader
BeanDefinitionRegistryPostProcessor
BeanFactory
BeanPostProcesser
继承 BeanDefinitionRegistryPostProcessor 的方法执行 postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) 优先级更高
beanFactory
beanFactoryPostProcessors
new SimpleApplicationEventMulticaster(beanFactory);
执行
resourceLoader
BeanDefinitionRegistry
1
this.applicationStartup.start(\"spring.context.refresh\");
启动应用
2
prepareRefresh();
准备上下文
3
prepareBeanFactory(beanFactory);
准备 Bean Factory 以在此上下文中使用
4
5
invokeBeanFactoryPostProcessors(beanFactory);
调用在上下文中注册为bean的工厂处理器
6
registerBeanPostProcessors(beanFactory);
实例化并注册所有 BeanPostProcessor bean,如果给定,则遵循显式顺序。必须在应用程序 Bean 的任何实例化之前调用
7
initMessageSource();
8
initApplicationEventMulticaster();
事件广播器
9
registerListeners();
注册监听器
10
finishBeanFactoryInitialization(beanFactory);
初始化 Bean
11
finishRefresh();
调用
调用已注册的bean工厂
2.refresh
refresh 时使用
getEnvironment().validateRequiredProperties();
0 条评论
下一页