小伍随笔

导航

spring两大核心之一 ioc(控制反转)

Spring

1.spring简介

1.1简介

  • 一款开源的轻量级框架

  • 为了解决程序开发日渐增长的复杂度和时间成本

  • 极大的提高了程序中对对象的创建管理与运用

2.spring两大核心之一 ioc(控制反转)

 

2.1 ioc的本质

控制反转的本质是一种编程思想,就是将原本由程序自己去创建对象,交给ioc容器去创建。他的底层实现是通过工厂模式使用反射机制,将对象创建好放入一个map容器里面,然后在使用的时候拿出来。

2.2 ioc创建对象的方式

通过静态工厂模式创建对象

通过构造方法创建对象

  • 通过下标创建对象

  • 通过参数名创建对象

  • 通过参数类型创建对象

他们通过创建bean的实例,然后给bean的参数赋值,达到设置对象属性的目的。

2.3 bean的作用域

  • 单例模式——(spring的默认机制)

  • 原型模式——多例模式

  • request

  • session

  • application

  • websocket

2.4 bean的生命周期

  • BeanDefinition 注册阶段 - registerBeanDefinition

  • BeanDefinition 合并阶段 - getMergedBeanDefinition

  • Bean 实例化前阶段 - resolveBeforeInstantiation

  • Bean 实例化阶段 - createBeanInstance

  • Bean 实例化后阶段 - populateBean 再调用 postProcessAfterInstantiation

  • Bean 属性赋值前阶段 - populateBean

  • Bean 属性赋值阶段 - populateBean

  • Bean Aware 接口回调阶段 - initializeBean

  • Bean 初始化前阶段 - initializeBean

  • Bean 初始化阶段 - initializeBean

  • Bean 初始化后阶段 - initializeBean

  • Bean 初始化完成阶段 -preInstantiateSingletons

  • Bean 销毁前阶段 - destoryBean

  • Bean 销毁阶段 - destoryBean

  1. 注册阶段

  2. 合并阶段

  3. 实例化阶段

  4. 属性赋值阶段

  5. 接口回调阶段

  6. 初始化阶段

  7. 销毁阶段。

     

2.5依赖注入的方式

ioc创建的对象通过依赖注入的方式进行关联

  • 构造器注入

  • set方式注入

  • 拓展方式注入

2.51 拓展注入方式

  • p命名空间注入,本质是set属性注入

  • c命名空间注入,本质是构造器方式注入

2.52命名空间注入的本质

通过添加xml文件加入第三方约束,配置bean进行对象的注入管理

 

 

 

posted on 2021-03-16 10:09  小伍随笔  阅读(41)  评论(0编辑  收藏  举报