自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Spring源码解析7-(xml)Spring的AOP

配置文件直接看refresh()中的obtainFreshBeanFactory(),初始化容器,加载配置文件成beanDefinition直接到DefaultBeanDefinitionDocumentReader的parseBeanDefinitions()解析标签直接到ConfigBeanDefinitionParser的parse()方法注册自动代理模式的创建器AspectjAwareAdvisorAutoProxyCreator...

2022-04-05 19:17:30 348

原创 Spring源码解析7-bean循环依赖

循环依赖普通对象的循环依赖1、先实例化A对象,未初始化,半成品 A@15362、将实例化A对象的lambda表达式放入三级缓存3、A对象填充b属性值,b是一个RuntimeBeanReference4、从容器中的缓存取B对象,取不到,创建实例化B对象,半成品 B@19375、将实例化B对象的lambda表达式放入三级缓存6、B对象填充a属性值,a也是一个RuntimeBeanReference,尝试从容器的1,2,3缓存中依次取key为a的beanName...

2022-04-05 16:48:40 139

原创 Spring源码解析6-spring的bean创建流程实例化

spring的bean创建流程实例化,通过获取构造器,反射创建bean,分配空间refresh()中的finishBeanFactoryInitialization(), 完成此上下文bean工厂的初始化,初始化所有剩余的单例bean(非懒加载的)finishBeanFactoryInitialization()1、为上下文初始化类型转换器,ConversionService有3种转换器实现类,1对1转换,1对N转换,N对N转换2、beanFactory之前没有...

2022-04-05 15:43:35 410

原创 Spring源码解析5-注册BeanPostProcesser与消息资源和监听器的初始化与注册

refresh()的registerBeanPostProcessors()实例化并且注册所有的beanPostProcessor处理器,这里只是注册功能,真正调用的是getBean方法registerBeanPostProcessors()registerBeanPostProcessors()找到所有实现了BeanPostProcessor接口的类,按实现了PriorityOrdered接口,实现了Ordered接口,spring内部与普通的BeanPost...

2022-04-05 15:38:09 364

原创 Spring源码解析4-spring注解解析过程,ConfigurationClassPostProcessor

注解利用AnnotationConfigApplicationContext 注册加载Spring上下文构造函数,创建AnnotationConfigApplicationContext实例对象this()—>AnnotationConfigApplicationContext()AnnotatedBeanDefinitionReader(),创建AnnotatedBeanDefinitionReader对象创建Annota...

2022-04-05 15:34:55 695

原创 Spring源码解析3-beanFactoryPostProcessor的执行

refresh()中的invokeBeanFactoryPostProcessors(beanFactory)invokeBeanFactoryPostProcessors(),实例化并且调用所有已经注册了的beanFactoryPostProcessor,遵循指明的顺序PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(),获取到当前应用程序上下文的beanFactoryPostProces..

2022-04-05 13:57:47 543

原创 Spring源码解析2-spring启动(bean工厂预准备)

spring启动,bean工厂准备工作refresh()中的prepareBeanFactory(beanFactory)方法,beanFactory的准备工作,对各种属性进行填充prepareBeanFactory()1,设置beanFactory的classloader为当前context的classloader2,设置beanfactory的表达式语言处理器3,为beanFactory增加一个默认的propertyEditor,这个主要是对bean的属性等设..

2022-04-05 13:54:35 141

原创 Spring源码解析1-spring启动(解析配置,注入容器)

spring的ioc容器初始化细节定位配置文件,解析配置文件成beandefinition,注入ioc容器配置文件构造方法setConfigLocations(),设置应用程序上下文的配置路径,资源文件的路径getEnvironment()获取环境变量createEnvironment()StandardEnvironment(),创建标准环境这个StandardEnvironment类是没有构造函数,默认是无参构造,调用父类AbstractEnvironment的无参构造Ab

2022-04-04 21:35:08 311

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除