Spring
文章平均质量分 97
Spring 相关文章
程序员囧辉
微信搜索【程序员囧辉】,领取本人原创大厂高频面试题 PDF、简历模板、进学习交流群。对技术有极致的追求,致力于写出小白也能看得懂的文章。
展开
-
面试必问的 Spring,你懂了吗?
Spring 永远滴神原创 2020-11-23 22:58:35 · 52114 阅读 · 21 评论 -
Spring AOP源码学习:一次请求调用全流程
目录前言正文JdkDynamicAopProxy#invoke代码块1:ReflectiveMethodInvocation构造函数代码块2:ReflectiveMethodInvocation#proceed()代码块3:invokeJoinpoint()代码块4:ExposeInvocationInterceptor#invoke代码块5:AspectJAroundAdvice#invoke代码块6:invokeAdviceMethod代码块7:argBind..原创 2020-05-11 23:48:23 · 4513 阅读 · 9 评论 -
Spring AOP源码学习:创建 AOP 代理
目录前言AnnotationAwareAspectJAutoProxyCreatorAbstractAutoProxyCreator#postProcessAfterInitialization代码块1:wrapIfNecessary代码块2:getAdvicesAndAdvisorsForBean代码块3:findEligibleAdvisors代码块4:findAdvisorBeans代码块5:findCandidateAdvisors代码块6:buildAspect原创 2020-05-11 23:45:22 · 4604 阅读 · 6 评论 -
Spring AOP源码学习:AOP 注解的解析
前言上文介绍了 AOP的基本概念,本文开始进入 AOP的源码解析,本文仍以 AspectJ来进行介绍,首先是 AOP注解的解析。正文当使用<aop:aspectj-autoproxy />注解开启 AOP功能时。Spring会从“META-INF/spring.handlers” 配置文件中拿到该注解对应的 NamespaceHandlerSuppo...原创 2019-12-14 22:17:02 · 6096 阅读 · 2 评论 -
Spring AOP源码学习:基本概念
前言之前用十几篇文章介绍了SpringIoC的源码,作为与IoC齐名的 AOP自然也不能错过。同样的,接下去将会通过几篇文章来解析Spring AOP的源码。如何将Spring源码导入 IDEA,请参考:Spring IoC:源码学习总览注:本文的内容以 AspectJ来进行介绍。关于 AOP百度百科:AOP即Aspect Oriented...原创 2019-11-30 23:50:47 · 4201 阅读 · 0 评论 -
Spring 源码学习系列汇总
Spring 系列的文章目录,后续Spring相关文章都会更新到本文,方便大家查阅。原创 2019-09-28 16:00:59 · 5606 阅读 · 2 评论 -
小白也看得懂的 Spring IoC 核心流程介绍
前言本文将用最通俗易懂的文字介绍SpringIoC中的核心流程,主要用于帮助初学者快速了解IoC的核心流程,也可以用作之前源码分析文章的总结。本着简单的初衷,本文会省略掉大量流程,只介绍最重要的步骤。基础概念1、IoC 和 DIIoC (Inversion of Control),即控制反转。这不是一种新的技术,而是Spring的一种设计思想。在传统的程序设...原创 2019-10-26 21:07:05 · 12347 阅读 · 13 评论 -
Spring IoC源码学习:finishRefresh 详解
前言SpringIoC的核心内容已经介绍完毕,本文将对最后一个方法finishRefresh进行介绍。由于存在上下文关系,本文也会对initApplicationEventMulticaster方法、registerListeners方法进行介绍。正文首先,我们回到refresh方法。@Overridepublic void refresh() thro...原创 2019-08-12 11:34:46 · 5355 阅读 · 7 评论 -
Spring IoC源码学习:@Autowire 详解
前言在Spring IoC:createBean 详解(上)中代码块4.5和Spring IoC:createBean详解(下)中代码块1、代码块4的 7.1.1我们遗留了一个解析——@Autowire注解的解析。之所以单独提出来,是因为在我现在接触的项目中,使用 @Autowire注解的比例非常高,可以说基本用过Spring的同学都接触过这个注解,重要性不言而喻。因此,单独拿...原创 2019-03-03 17:14:18 · 8191 阅读 · 5 评论 -
Spring IoC源码学习:ApplicationContext 刷新前的配置
前言在 Spring IoC:源码学习总览中,我们简单介绍了 IoC 过程最重要的一个方法,也就是 AbstractApplicationContext#refresh()方法,在正式学习refresh方法之前,还有一些刷新前的操作比较重要,本文将对这部分内容进行介绍。正文web.xml 配置<?xml version="1.0" encoding="UTF-...原创 2019-01-19 22:34:08 · 10127 阅读 · 9 评论 -
Spring IoC源码学习:obtainFreshBeanFactory 详解
前言上文Spring IoC:ApplicationContext 刷新前的配置介绍了refresh 方法前的环境准备操作,接下来正式进入 refresh方法。prepareRefresh是refresh里的第一个方法,主要是一些准备工作,比较简单的方法,看一下就了解了。接下来是obtainFreshBeanFactory方法,该方法用于获得一个新的 BeanFactory,本...原创 2019-01-27 00:47:03 · 9514 阅读 · 6 评论 -
Spring IoC源码学习:parseDefaultElement 详解
前言接着Spring IoC:obtainFreshBeanFactory详解继续往下解析,本文来到 parseDefaultElement 方法。该方法是解析默认命名空间节点的方法,是加载 bean 定义模块的最核心方法。正文首先让我们回到Spring IoC:obtainFreshBeanFactory详解文末的 parseBeanDefinitions方法。...原创 2019-01-30 22:30:23 · 5512 阅读 · 6 评论 -
Spring IoC源码学习:parseCustomElement 详解
前言我们通过Spring IoC:parseDefaultElement详解解析了默认命名空间节点的解析,本文将解析自定义命名空间节点的解析。正文首先让我们回到Spring IoC:obtainFreshBeanFactory详解文末的 parseBeanDefinitions方法。parseBeanDefinitions方法protected void pa...原创 2019-02-16 17:45:30 · 4460 阅读 · 8 评论 -
Spring IoC源码学习:context:component-scan 节点详解
前言在Spring IoC:parseCustomElement详解中,我们介绍了自定义命名空间节点解析的大部分内容,但是还剩下节点解析的具体过程。本文将以 <context:component-scan />节点为例子,介绍自定义命名空间 context的component-scan节点的解析过程。正文首先,我们回到Spring IoC:parseCu...原创 2019-02-17 18:13:46 · 6090 阅读 · 1 评论 -
Spring IoC源码学习:registerBeanPostProcessors 详解
前言在Spring IoC:invokeBeanFactoryPostProcessors解析中我们介绍了invokeBeanFactoryPostProcessors方法,而本文将介绍另一个类似的方法——registerBeanPostProcessors。invokeBeanFactoryPostProcessors方法主要用于处理BeanFactoryPostProces...原创 2019-02-23 13:56:37 · 10701 阅读 · 7 评论 -
Spring IoC源码学习:createBean 详解(上)
前言接着Spring IoC:getBean详解,我们继续解析获取bean实例里的核心内容:创建bean实例。正文首先,我们进入createBean方法。createBean@Overrideprotected Object createBean(String beanName, RootBeanDefinition mbd, Object[] a...原创 2019-03-02 16:21:30 · 9332 阅读 · 22 评论 -
Spring IoC源码学习:finishBeanFactoryInitialization 详解
前言在介绍了 obtainFreshBeanFactory、invokeBeanFactoryPostProcessors、registerBeanPostProcessors三个重要方法后,我们终于来到了最后一个重要方法:finishBeanFactoryInitialization。finishBeanFactoryInitialization 是这四个方法中最复杂也是最重要的,是整个...原创 2019-02-26 22:05:27 · 8999 阅读 · 16 评论 -
Spring IoC源码学习:invokeBeanFactoryPostProcessors 详解
前言随着Spring IoC:context:component-scan节点解析的结束,obtainFreshBeanFactory方法的解析也告一段落,我们通过5篇文章,完整的介绍了obtainFreshBeanFactory方法。本文将介绍obtainFreshBeanFactory方法之后的另一个重要方法——invokeBeanFactoryPostProcessors。...原创 2019-02-22 22:11:36 · 22891 阅读 · 49 评论 -
Spring IoC源码学习:createBean 详解(下)
前言接着Spring IoC:createBean详解(上),我们继续解析创建bean实例的剩下内容。正文首先,我们回到Spring IoC:createBean详解(上)中的代码块3,doCreateBean 方法。doCreateBeanprotected Object doCreateBean(final String beanName, final...原创 2019-03-02 23:18:37 · 6368 阅读 · 5 评论 -
Spring IoC源码学习:getBean 详解
前言接着Spring IoC:finishBeanFactoryInitialization详解,我们正式开始学习获取bean实例方法,该方法是Spring最核心的方法。正文单击 preInstantiateSingletons方法里的getBean(beanName)代码,进入该方法。getBean@Overridepublic Object ...原创 2019-02-27 22:31:02 · 10070 阅读 · 14 评论 -
Spring IoC源码学习:总览
前言Spring 作为现在最优秀的框架之一,被广泛的应用于 Java 项目中,但是大多数人都只知道如何使用,而不知其中的原理。对大多数人来说可能知道如何使用已经足够了,但是对于想提升自己的人来说,学习 Spring 的源码是一个不错的选择。在过去的几个月里,我利用空闲时间将 IoC 的相关源码学习了一下,按照老习惯准备整理成笔记,以博文的形式记录下来,供自己以后使用,也供其他网友参考。由于涉及...原创 2019-01-15 00:12:35 · 11220 阅读 · 5 评论