SpringIOC

作者: 过去与未来 | 来源:发表于2015-11-04 12:34 被阅读0次

作为一个容器,通过配置文件或者注解描述类与类之间的依赖关系,自动完成类的初始化和依赖注入的工作

Spring的核心组成部分

反射
通过程序化的方式间接对Class对象实例操作,Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息,如构造函数属性方法等。

主要成员
Constructor
通过newInstance获取对象类的实例
Method
提供方法的调用
Field
获取成员变量

类装载器
寻找类的字节码文件并构造出类在JVM内部表示的对象组件,主要工作由ClassLoader及其子类负责。

传值方式

  1. 构造函数传参
  2. set方法传参

从传值方式衍生出来的反射方式如下所示

反射方式1

  • 通过类加载器获取目标对象
  • 获取类的默认构造器对象并实例化目标对象
  • 通过反射方法设置属性

反射方式2

  • 通过类加载器获取目标对象
  • 获取类的带有参数的构造器对象
  • 使参数的构造器对象实例化目标对象

对象工厂的初始化
  • 创建读取配置文件的SAXReader
  • 获取当前线程中的类装载器的对象
  • 利用类装载器从classpath的xml路径下获取指定的xml文件
  • 通过xml文件获取对应bean的id(唯一标识)、class(类全路径)、name(属性)、value(属性值)
  • 通过反射方法将value设置到类的属性当中
  • 将对象放入beanMap当中,key为id
通过对象工厂获取bean
  • 初始化对象工厂
  • 调用init方法
  • 从beanMap中根据ID获取bean

SpringIOC

将实现类、参数信息配置在对应的配置文件中,Spring的工厂类会帮我们完成配置文件的读取、利用反射机制注入对象。

相关文章

  • 手写springioc

    手写简易springIOC springIOC的特点 spring ioc,spring容器,根据xml配置,或者...

  • spring源码解析之SpringIOC源码解析(上)

    SpringIOC源码解析(上) 一、什么是SpringIOC spring ioc指的是控制反转,IOC容器负责...

  • spring bean 生命周期

    springIOC 容器中bean 的生命周期方法 springioc容器可以管理bean的生命周期,spring...

  • springIoc

    1、Ioc(Inverse of control,控制反转) 控制:指对象的控制权 反转:控制权从调用类中移除,由...

  • SpringIOC

    Spring的控制反转(IOC) 把对象的创建初始化、销毁等工作交给spring容器来做,由spring容器来控制...

  • springIOC

    IOC的组成体系结构 1、资源定位(配置文件定位) 2、载入(读取配置文件) 3、注册(把加载以后的配置文件解释成...

  • SpringIOC

    SpringIOC 博客链接 概述 IOC,全称"Inverse Of Control",中文意思为:控制反转。那...

  • SpringIOC

    基本概念 IoC是什么? 如果这个问题要是面试的问题,那么我会这么回答。 IoC(Inversion of Con...

  • SpringIOC

    配置bean class: bean 的全类名,通过反射的方式在IOC容器中创建Bean,所以要求Bean中必须有...

  • SpringIOC

    作为一个容器,通过配置文件或者注解描述类与类之间的依赖关系,自动完成类的初始化和依赖注入的工作 Spring的核心...

网友评论

      本文标题:SpringIOC

      本文链接:https://www.haomeiwen.com/subject/umnqhttx.html