
Spring源码解析
Max的外企搬砖随笔
这个作者很懒,什么都没留下…
展开
-
Spring源码分析之单例bean的生命周期
1.前言bean的生命周期,无非是bean的创建--->初始化---->销毁这三步 ,为了给这个概念具象化,下面给出一个例子说明。比如:现在有个类A,那么上述三个步骤分别是:创建,即:调用A的构造方法; 初始化,即:调用A的set方法,进行赋值操作; 销毁,即:Java对象的销毁,一般情况下程序员是不用手动去操作的,因为Java有GC机制,参考《深入理解Java虚拟机》,大家有空可以复习下。上述三个步骤在Spring中的实现,比较复杂,不过步骤还是上述三步。2.Demo介绍原创 2020-09-24 15:04:04 · 343 阅读 · 0 评论 -
Spring源码分析之FactoryBean方式注入bean
基本要点介绍原创 2020-09-22 14:00:04 · 1135 阅读 · 0 评论 -
Spring容器启动之注册类bean的注入
前言本文旨在分析在Spring容器启动之时,如何将注册类bean注入IOC容器中,意义重大,详细看以下源码:BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(abd, beanName);definitionHolder = AnnotationConfigUtils.applyScopedProxyMode(scopeMetadata, definitionHolder, this.registry);Bean原创 2020-09-18 09:39:51 · 1186 阅读 · 0 评论 -
Spring启动之CommonDefinitionAnnotations(AnnotatedBeanDefinition abd, AnnotatedTypeMetadata metadata) 解析
前言本文旨在分析在Spring容器启动之时,针对特定注释的解析需要使用题目中所述方法,该方法的寻找路劲为:特定的注释的解析①org.springframework.context.annotation.AnnotatedBeanDefinitionReader#registerBean(java.lang.Class<?>)--->②org.springframework.context.annotation.AnnotatedBeanDefinitionReader#doR原创 2020-09-17 19:36:07 · 641 阅读 · 0 评论 -
Spring源码分析之Scope注解处理
前言本文旨在分析在Spring容器启动之时,@Scope注解的处理过程。处理代码为:ScopeMetadata scopeMetadata = this.scopeMetadataResolver.resolveScopeMetadata(abd);abd.setScope(scopeMetadata.getScopeName());//进入this.scopeMetadataResolver.resolveScopeMetadata方法ScopeMetadata resolveSco原创 2020-09-17 11:50:55 · 902 阅读 · 0 评论 -
Spring容器启动之org.springframework.context.annotation.ConditionEvaluator#shouldSkip方法详解
/** * Determine if an item should be skipped based on {@code @Conditional} annotations. * @param metadata the meta data * @param phase the phase of the call * @return if the item should be skipped */ public boolean shouldSkip(@Nullable Annotate.原创 2020-09-16 18:43:18 · 1703 阅读 · 0 评论