• Spring5 IOC原理


    Spring框架有两个核心的组成部分 IOC 和 AOP

    IOC : 控制反转,把创建对象的过程交给Spring进行管理

    Aop : 面向切面, 不修改源代码进行功能增强

    今天主要针对IOC进行介绍

    IOC是Inversion of Control的缩写,即控制反转,就是把对象创建和对象之间调用的过程交给Spring进行管理,使用 IOC 的目的是为了降低耦合。

    通过浏览了一些文章之后,我对 IOC 的理解就是,比如说对象 A 要调用对象 B ,正常写代码的情况下,通常就是当对象 A 需要用到对象 B 的时候,然后就需要自己主动的 new 一个对象 B,主动权在对象 A 自己手中,但是引入了IOC 之后,,如果对象A在需要调用对象B,此时 IOC 会主动的创建一个B对象,然后注入到对象 A 需要的地方。这样就断绝了对象 A 和 对象 B 直接的直接联系。这点与电脑读取USB上文件的场景非常相似。

    在电脑读取USB上的文件时,电脑不会关心这个是那个USB设备,只要这个USB是可用的,他就可以从上面读取文件,而电脑读取什么文件的决定权就在我的手上,我想要电脑读取什么文件,我就插入什么USB,这个时候 我 就扮演 IOC 的角色

    IOC 内部的底层原理主要包括xml解析 、 工厂模式 、 反射

    Spring提供 IOC 容器的实现方式有两种:

    BeanFactory : IOC 容器的基本实现,是Spring内部的使用接口,不提供给开发人员使用,(加载配置文件时不会创建对象,只有使用对象时才会创建对象,不利于程序的时效性)

    ApplicationContext : BeanFactory的子接口,提供给开发人员使用,(加载配置文件的时候就会把在配置文件中的对象创建,有利于程序的时效性)

    IOC 操作bean管理

    Bean管理是指两个操作 创建对象注入属性

    Bean管理有两种方式  基于xml配置文件方式实现 注解方式实现

  • 相关阅读:
    可变参数的实现方式
    VC 链接没有 lib 文件的 dll
    Nginx使用笔记1
    实现linux 中c 函数popen( ),pclose( ); 进程通信、匿名管道
    线程池
    vue相关
    maven学习
    ES6相关
    spring boot相关
    sql 重复、替换、截取、去空格、去小数点后的位数、日期格式转换
  • 原文地址:https://www.cnblogs.com/wfswf/p/15708914.html
Copyright © 2020-2023  润新知