• IOC(一)


    什么是IOC

      IOC即控制反转, 就是把对象创建和对象之间的调用过程, 交给Spring进行管理, 从而降低耦合度.

      举个例子, 如果我们要在一个类(U1)里调用另一个类(U2)的普通方法, 则我们需要在U1里通过new关键字创建U2的对象并调用其中的方法, 但这样耦合度太高.

      一个改进的方法是使用工厂模式: 创建U2的工厂类, 比如:

    class U2Factory{
        public static U2 getU2(){
            return new U2;
        }
    }

    我们可以调用工厂类的静态方法, 直接在U1中调用U2的普通方法:

    class U1{
        U2 obj2 = U2Factory.getU2();
        obj2.U2Method();
    }

    但这样还是有一定耦合度, 我们可以使用IOC的方法, 将耦合度降到最低:

      第一步: 配置xml, 配置创建的对象

    <bean id="obj2" class="com.Ryan.Spring5.U2"></bean>

      第二步: 利用反射, 创建工厂类

    class U2Factory{
        public static U2 getU2(){
            String classValue = class属性值; //1.xml解析
            Class clazz = Class.forName(classValue); //2.通过反射创建对象
            return (U2)clazz.newInstance();
        }
    }

    这样便进一步降低了耦合, 如果后期要改U2类, 则直接改配置文件即可

  • 相关阅读:
    facedetect
    gmm
    拉格朗日对偶
    基于 MeanShift 算法的目标跟踪问题研究
    视频目标跟踪算法综述
    AtCoder Beginner Contest 088 C Takahashi's Information
    L3-016. 二叉搜索树的结构
    垒骰子
    1130. Infix Expression (25)
    1129. Recommendation System (25)
  • 原文地址:https://www.cnblogs.com/Ryan368/p/13853827.html
Copyright © 2020-2023  润新知