spring源码阅读day1

一、spring是什么?

spring是框架,具有完整的生态链,也就是spring的全家桶,对于spring来说,我们最关心的就是ioc(控制反转)--这是一种思想,具体实现为DI(依赖注入)和AOP(面向切面)

二、关于IOC的底层流程图(后续持续补充细节)

    1.语言描述

          对于spring来说,ioc的最终目的就是不需要我们在new对象了,而是由容器提供我们需要的对象,先概述流程,然后在下面对流程进行详解;

 

    问题一:容器是怎么产生的?

               spring的底层提供beanFactory接口这个接口,实现类通过这个接口产生容器。

   问题二:容器中的对象是怎么产生的?

           容器中的对象我们一般都是指用户自定义的对象(不包含容器在执行过程中需要的那么对象),

  1.解析:对于一般对象我们都是在xml文件、properties文件或者yaml文件中使用<baen></baen> 定义bean,然后通过BeanDefinitionReader接口进行解析加载到容器中,

  2.现在有了BeanDefinition接口对象,

 3.BeanFactoryPostProceessor接口

         然而我们在xml文件中一定写过<property name="url" value="${jdbc.url}">,当我们把这种 数 据加载进行之后是不能创建对象的,因为你的数据还是链接,就需要将数据进行替换为值,所以BeanFactoryPostProceessor接口就行干这事的,当然还会对bean设置一些属性值,

4.实例化:给对象分配内存地址,

5.初始化阶段

   5-1:填充属性

   5-2:设置Aware接口属性(如果bean在创建后想使用容器的某些对象)

   5-3:BeanPostProcessor.before(相当于aop)

   5-4:执行init-method方法(<bean init-method="">指定的方法)

   5-5:BeanPostProcessor.before(相当于aop)

6.使用

7.销毁

             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值