创建bean的流程

· spring

创建bean的流程 通过上面几个流程的分析,终于来到了spring初始化bean的流程了。在这个过程中主要的功能有实列化bean对象、加载到缓存、前后置处理; 创建流程 @Override protected Object createBean(String beanName, RootBeanDefinition mbd, @Nullable Object[] args) throws ...

Read More →
#spring源代码

Bean的加载1

· spring

Bean的加载 Spring Ioc容器就是以某种方式加载配置文件并创建相应的对象进行绑定形成一个可取可存的容器。 spring在实现过程中分为两个阶段: 容器初始化阶段 加载bean阶段 容器初始化阶段 通过某种方式(ResourceLoadle)将配置文件(Resource)加载 通过BeanDefinitionReader将配置文件转换为BeanDefinition 通过BeanDef...

Read More →
#spring源代码

spring的BeanDefinition体系

· spring

spring的BeanDefinition体系 BeanDefinition是作为记录Bean的原始信息。读取完成配置文件后就要将配置文件解析为BeanDefinition。我们来分析一一下这个流程 bean的元数据 BeanDefinition -> bean的元数据 String SCOPE_SINGLETON = ConfigurableBeanFactory.SCOPE_SING...

Read More →
#spring源代码

spring中资源的加载

· spring

spring中资源的加载 对于资源的加载这个场景首先要划分边界,spring抽象出两个组件:Resource、ResourceLoader Resource接口 Resource是对资源的一种抽象,提供一系列操作文件的方法 定义 resource.java public interface Resource extends InputStreamSource { //文件是否...

Read More →
#spring源代码

spring源代码基础和组件

· spring

spring的IoC理解 IoC名词含义指的是控制反转或依赖注入,但是本质上指的是我们在不同的类中相互依赖的不是类本身,而是不同的类提供出来的不同服务,本质是依赖于服务。由于业务处理逻辑本身是一种无状态的处理过程,因此不该使用者去关心服务提供者的生命周期(创建、初始化、销毁),使用者关心于提供的服务本身。IoC本质上就是去控制类的生命周期,让开发者关注于服务本身的工具。 注入方式 从上一个问题又引...

Read More →
#spring源代码