目录
2.1概念
loC,Inversion of Control:控制反转,是一个理论、一个指导思想。指导开发人员如何使用对象、管理对象的。把对象的创建、属性赋值、对象的生命周期都交给代码之外的容器管理。
1)loC分为控制和反转
控制:对象创建,属性赋值,对象声明周期管理
反转:把开发人员管理对象的权限转移给了代码之外的容器实现。由容器完成对象的管理。
正转:开发人员在代码中,使用new构造方法创建对象。开发人员掌握了对象的创建,属性赋值,对象从开始到销毁的全部过程。开发人员有对对象全部控制。
通过容器,可以使用容器中的对象(容器已经创建了对象,对象属性赋值了,对象也组装好了)
Spring就是一个容器,可以管理对象,创建对象,给属性赋值。
2)IoC技术实现
DI(依赖注入) :Dependency Injection,缩写是DI。是loC的一种技术实现。程序只需要提供要使用的对象的名称就可以了,对象如何创建,如何从容器中查找,获取都由容器内部自己实现。
依赖名词:比如说ClassA类使用了ClassB的属性或者方法,叫做ClassA依赖ClassB。
public class ClassB{
public void createOrder(){}
}
public class ClassA{
//属性
private class b = new ClassB();
public void buy(){
b.createOrder();
}
}
执行ClassA中的buy()
class a = new ClassA();
a.buy();
3) Spring框架使用的DI实现loC。
通过spring框架,只需要提供要使用的对象名词就可以了。从容器中获取名称对应的对象spring底层使用的反射机制,通过反射创建对象,给属性。|