spring专栏
文章平均质量分 71
爱蛋蛋真是太好了
一个爱学习的程序猿
展开
-
spring启动流程探索八、refresh()(7)
spring探索第八节initMessageSource()initApplicationEventMulticaster()onRefreshregisterListenersinitMessageSource()这个方法其实是就是为了初始化MessageSource,如果在此上下文中未定义,则使用父项。protected void initMessageSource() { ConfigurableListableBeanFactory beanFactory = getBeanFactor原创 2021-05-12 10:56:42 · 177 阅读 · 0 评论 -
spring启动流程探索七、refresh()(6)registerBeanPostProcessors(ConfigurableListableBeanFactory beanFactory)
spring探索第六节一级目录一级目录原创 2021-04-29 10:03:48 · 192 阅读 · 0 评论 -
spring启动流程探索六、refresh()(5)invokeBeanFactoryPostProcessors
spring探索第六节invokeBeanFactoryPostProcessorsinvokeBeanFactoryPostProcessors这个也是影响spring容器生命周期非常重要的方法,他第一次执行和后面的执行也是后面的执行是不同的。因为他第一次会去调用ConfigurationClassPostProcessor的实现。我们开始上代码把/** * Prepare the Configuration classes for servicing bean requests at runt原创 2021-04-28 10:42:08 · 78 阅读 · 0 评论 -
spring启动流程探索五、refresh()(4)invokeBeanDefinitionRegistryPostProcessors
spring探索第五节invokeBeanDefinitionRegistryPostProcessors第一次调用invokeBeanDefinitionRegistryPostProcessorsprocessConfigBeanDefinitions(registry)invokeBeanDefinitionRegistryPostProcessors这个方法里面做的工作是很多,他首先会去刷新beanDefinitionNames,而且有很多加载逻辑。他在bean容器的生命周期有很重要的工作。我原创 2021-04-22 17:19:34 · 525 阅读 · 0 评论 -
spring启动流程探索四、refresh()(3)getBeanNamesForType-isTypeMatch
spring探索第四节getBeanNamesForTypeisTypeMatch(beanName, type, allowFactoryBeanInit)getBeanNamesForType这个方法其实讲起来还挺复杂的,因为他里面调用很多的其他方法,而那些其他的方法内容也很繁琐,所以我先大家定个主题,我们在这只探讨和上个章节展开一致的内容,是沿着我们refresh的流程往下走的,所以如果大家在看的时候要明确。上代码:beanFactory.getBeanNamesForType(BeanFact原创 2021-04-21 14:35:42 · 683 阅读 · 0 评论 -
spring启动流程探索三、refresh()(2)invokeBeanFactoryPostProcessors
spring源码探索三invokeBeanFactoryPostProcessorsPostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessorsinvokeBeanFactoryPostProcessors protected void invokeBeanFactoryPostProcessors(ConfigurableListableBeanFactory beanFactory) { // 核心方法 PostProces原创 2021-04-21 11:14:01 · 171 阅读 · 0 评论 -
spring启动流程探索二、refresh()(1)
spring探索第二节refresh()prepareRefresh()obtainFreshBeanFactoryrefreshBeanFactoryprepareBeanFactory(beanFactory)registerSingleton(String beanName, Object singletonObject)updateManualSingletonNames()super.registerSingleton(beanName, singletonObject);addSingleton原创 2021-04-20 16:43:15 · 391 阅读 · 0 评论 -
spring启动流程探索一、register(componentClasses);
spring探索第一节spring启动流程开始AnnotationConfigApplicationContext(Class<?>... componentClasses)register(componentClasses);AnnotatedGenericBeanDefinition(beanClass);resolveScopeMetadataapplyScopedProxyModespring启动流程spring用了很多年了,也会偶尔去看下,或者说去研究下spring源码,看spri原创 2021-04-20 15:29:39 · 910 阅读 · 0 评论