控制反转:
在编程中,当我们用到一个对象时,首先需要主动创建它,但是在大型项目中,大家分工合作,也许我们要用到的对象对应的类还没有被编写出来,我们肯定没办法new出来,这个时候就有了Spring框架,对象交给Spring来创建(我们不关心有没有能力关心是否已经有了对应的类和Spring是否能够创建我们需要的对象),我们直接从Spring容器中获取对象使用即可,此前对象是由我们主动创建的,我们具有控制权,但使用Spring框架之后我们将创建对象的权力交给Spring,也就意味着我们对对象的控制权反转给了Spring,这就是控制反转。
控制未反转:由我们(开发者)来控制对象的创建。
控制反转:我们将创建对象的控制权交给了Spring,由Spring来控制对象的创建。
依赖注入:
当我们需要用到一个对象的时候,从Spring容器中获取,这对于Spring来讲,就是将程序所依赖的对象注入到程序中,这就是所谓的依赖注入。
在Java中依赖注入有三种实现方式:
- 构造器注入
- Setter方法注入
- 接口注入