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

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