Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
实际上,IOC可以细分为两类:Dependency Injection 和 Dependency Lookup。 这2种分类又可以细分不同实现方式。
Dependency Lookup 可以分为:Dependency Pull 和 Contextualized Dependency Lookup (CDL)。经典的 EJB中通过JNDI方式。就是Dependency Lookup。
Dependency Injection 可以分为:构造方法注入和 Setter注入。
在Spring中,主要还是通过 DI 实现IOC的。