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类, 则直接改配置文件即可

原文地址:https://www.cnblogs.com/Ryan368/p/13853827.html