IOC(控制反转)和DI(依赖注入)

1.IOC(控制反转)

IOC(Inversion of Control)–即控制反转,这是spring的核心,是面向对象编程中的一种设计原则,可以用来降低计算机的耦合程度。其中最常见的方式有依赖注入(Dependency Injection,简称DI),还有一种方式叫做依赖查找(Dependency Lookup)。通过控制反转,在需要对象实体的时候,通过容器将依赖注入到对象中。
IOC,对于spring框架来说,就是由spring来负责控制对象的生命周期与对象间的关系。spring所倡导的开发方式,就是所有的类都会在spring容器中登记,告诉spring是个什么东西(类),需要什么样的东西(类),然后spring会在系统运行到适当的时候,把你需要的东西主动给你(进行依赖注入),同时也把你交给其他需要你的东西。所有类的创建、销毁都由spring来控制,也就是说控制对象生命周期的不再是引用它 的对象,而是spring。对于某个具体的对象而言,以前是控制其他对象,现在是所有对象都由spring控制,所以叫做IOC控制反转。

2 DI(依赖注入)

IoC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection,依赖注入)来实现的。以前当需要一个对象时候我们需要new一个对象,在spring中,使用注解,需要一个对象的时候spring会通过反射来实现注入。程序运行过程中,客户类不直接实例化具体服务类实例,而是客户类的运行上下文环境或专门组件负责实例化服务类,然后将其注入到客户类中,保证客户类的正常运行。

发布了21 篇原创文章 · 获赞 4 · 访问量 184

猜你喜欢

转载自blog.csdn.net/weixin_46221109/article/details/104866462