控制反转:
控制反转(IoC)是面向对象编程的一个设计原则,用于降低代码耦合度
在传统面向对象编程中,获取对象的方式是用关键字“new”主动创建一个对象,也就是说,应用程序掌握着对象的控制权。
在使用Spring 框架之后,对象的实例不再由调用者来创建,而是由Spring的IoC容器来创建,IoC容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移到了IoC容器,控制权发生了反转,这就是Spring的控制反转。
依赖注入:
依赖注入(DI)是指IoC容器在运行期间动态地将某种依赖资源注人到对象中。
依赖注入(DI)和控制反转(IoC)是从不同角度来描述了同一件事情。依赖注入是从应用程序的角度描述,即应用程序依赖IoC容器创建并注入它所需要的外部资源;而控制反转是从IoC容器的角度描述,即IoC 容器控制应用程序,由IoC容器反向地向应用程序注入应用程序所需要的外部资源。这里所说的外部资源可以是外部实例对象,也可以是外部文件对象等。
依赖注入的类型:
1.构造方法注入
2.属性setter方法注入(设值注入)