教育改变生活

标题: 【Spring+ MyBatis】1-4 依赖注入和控制反转 [打印本页]

作者: 却尘    时间: 2021-3-10 16:54
标题: 【Spring+ MyBatis】1-4 依赖注入和控制反转
依赖注入(DI)和控制反转(Ioc)
依赖注入往往和控制反转(Inversion of Control)说到一起,控制反转指对象的控制权、生命周期等行为不再由客户端(调用方)来控制,而是由IoC容器来控制,调用方不再需要关心他要调用的对象如何产生,只要告诉容器,我要用某个对象了,由容器来提供。
传统的编程方式,在对象需要另一个对象时,都是主动来创建对象,控制对象都行为,因此这种通过容器来提供对象都创建和销毁都方式,形象的成为控制反转。
Spring框架通过Ioc这种设计思想,将所有的类都注册到容器中,告诉容器:
1.A是什么类
2.A需要哪些类(依赖)
有了这两个信息,在程序运行的时候,容器就会在适当的时候把依赖的类注入到A中,对A来说,以前是他控制这些依赖类,现在就是统一由Spring容器来提供,这种控制的行为就被反转了。
依赖注入是基于java的反射机制实现的,java提供了反射机制,在程序运行中,就可以通过反射得到一个类的全部属性和方法,并且可以调用,Spring就可以通过xml或者注解等方式,得到交给容器控制的所有类的依赖关系,在程序运行过程中进行创建,并且可以执行这些类的行为。






欢迎光临 教育改变生活 (http://bbs.goldoar.com/) Powered by Discuz! X3.2