一块自留地

22 篇文章
15 人订阅

全部文章

大王叫下

SpringAop源码分析(基于注解)四:拦截器链

本文依据JdkDynamicAopProxy来分析,对CGLIB感兴趣的同学看一看ObjenesisCglibAopProxy相关代码。 JdkDynamicA...

8310
大王叫下

SpringAop源码分析(基于注解)三:创建代理对象

我们先回到Bean初始化之后,调用BeanPostProcessor后置处理器的地方。

7810
大王叫下

SpringAop源码分析(基于注解)二:筛选通知器

我们已经知道BeanPostProcessors是在Bean实例化前后起作用的,如果看过前面的文章Spring Ioc源码分析 之 Bean的加载(八):初始化...

7310
大王叫下

SpringAop源码分析(基于注解)一

关于Aop的原理,简单来讲无非就是用代理模式为目标对象生产代理对象,对原有的方法进行增强。看上去挺简单,但在Spring中,有许多细节是要注意到的。比如:

8020
大王叫下

Spring中BeanFactory与FactoryBean的区别

BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean()、containsBean()...

7610
大王叫下

Spring Ioc源码分析 之 Bean的加载(八):初始化

初始化 bean 的方法其实就是三个步骤的处理,而这三个步骤主要还是根据用户设定的来进行初始化,这三个过程为:

7930
大王叫下

Spring Ioc源码分析 之 Bean的加载(七):属性填充

xml方式如<beans>节点中的default-autowire属性; 注解方式如:@Value()、@Resource、@Autowire、@Qualif...

9030
大王叫下

Spring Ioc源码分析 之 Bean的加载(六):循环依赖处理

循环依赖,其实就是循环引用,就是两个或者两个以上的 bean 互相引用对方,最终形成一个闭环,如 A 依赖 B,B 依赖 C,C 依赖 A。如下图所示:

8220
大王叫下

Spring注解@Resource源码分析

继续追踪,看metadata.inject(bean, beanName, pvs)方法

14250
大王叫下

Spring注解@Autowired源码分析

该方法就是在属性注入populateBean中调用的pvs = ibp.postProcessPropertyValues(pvs, filteredPds, ...

11410
大王叫下

Spring Ioc源码分析 之 Bean的加载(五):实例化Bean

在doCreateBean()代码 <2> 处,有一行代码instanceWrapper = createBeanInstance(beanName, mbd,...

11140
大王叫下

Spring Ioc 之 Bean的加载(四):createBean()

代码读到这里,大家可能有疑问,从代码上看明明是处理的方法重载,但是为什么处理的是方法注入呢?而且如果我们在bean里设置几个方法重载的话,hasMethodOv...

11560
大王叫下

Spring Ioc 之 Bean的加载(三):各个 scope 的 Bean 创建

createBean(beanName, mbd, args)方法比较复杂,在之后的文章中会详细分析,这里就先略过,直接看

14660
大王叫下

Spring Ioc 之 Bean的加载(二)

Spring 只处理单例模式下得循环依赖,对于原型模式的循环依赖直接抛出异常。

16850
大王叫下

Spring Ioc 之 Bean的加载(一)

当我们显示或者隐式地调用 BeanFactory#getBean(String name) 方法时,则会触发加载 Bean 阶段。代码如下:

10520
大王叫下

Spring IoC 源码分析 (基于注解) (三)之 Bean的解析与注册

在上一篇文章Spring IoC 源码分析 (基于注解) 之 包扫描中,我们介绍了Spring基于注解扫描包获取bean的过程。本文我们将一起探讨spring对...

8330
大王叫下

Spring IoC 源码分析 (基于注解)(二) 之 包扫描

在上篇文章Spring IoC 源码分析 (基于注解) 一我们分析到,我们通过AnnotationConfigApplicationContext类传入一个包路...

11840
大王叫下

Spring IoC 源码分析 (基于注解) 一

IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。

9530
大王叫下

Spring中配置id或name相同的Bean可能引发的问题及解决方案

如果再xml中配置了相同的的ID或name可能会造成一些问题,今天我们来探讨一下并解决。

17930
大王叫下

Mysql索引原理及各种tree的比较

我们都知道mysql的索引使用B树来实现的,那么为什么会考虑B树,不考虑其他数据结构呢?

7740

扫码关注云+社区

领取腾讯云代金券