1、Spring IoC 的容器构建流程
核心的构建流程如下,也就是 refresh 方法的核心内容:
2、Spring bean 的生命周期
bean 的生命周期主要有以下几个阶段,深色底的5个是比较重要的阶段。
3、BeanFactory 和 FactoryBean 的区别
BeanFactory:Spring 容器最核心也是最基础的接口,本质是个工厂类,用于管理 bean 的工厂,最核心的功能是加载 bean,也就是 getBean 方法,通常我们不会直接使用该接口,而是使用其子接口。
FactoryBean:该接口以 bean 样式定义,但是它不是一种普通的 bean,它是个工厂 bean,实现该接口的类可以自己定义要创建的 bean 实例,只需要实现它的 getObject 方法即可。
FactoryBean 被广泛应用于 Java 相关的中间件中,如果你看过一些中间件的源码,一定会看到 FactoryBean 的身影。
一般来说,都是通过 FactoryBean#getObject 来返回一个代理类,当我们触发调