Ioc全称inversion of control,即控制反转,指将对象的创建、销毁等的控制权交由Spring框架的Ioc容器进行管理,以往的JavaEE程序设计的对象创建时通过new来完成的,需要我们主动去创建。而Ioc就是一个大工厂,现在不需要我们手动去new创建一个对象,需要时可以直接通过反射的机制来注入对象,同时也不需要我们主动去销毁对象,Spring框架帮我们进行了统一的管理。Dl依赖注入有三种实现方式,一种接口注入已经被淘汰了,另外两种一个是属性setter注入方式,Spring通过无参构造或无参静态工厂方法实例化Bean对象后,再通过调用该Bean的setter方法实现注入。第二种是构造注入,Spring直接通过调用有参的构造方法实现依赖注入,每一个参数就是一个依赖。
IOC:控制反转。控制:对象的创建的控制权限;反转:将对象的控制权限交给spring。原来由程序员主动 new 对象这一行为转交给Spring负责(即对象的控制权反转了)。作用:解耦(程序员不需要管理对象,解开了程序员与对象的耦合)。DI:依赖注入,是IOC的核心实现方式。有三种注入方式:构造器注入、Setter方法注入、注解注入(最常用)