- IOC(Inversion Of Control,控制反转)
IOC它不是技术,而是一种设计思想,是spring的核心。
控制:IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制,spring容器控制了对象,主要是控制了外部资源的获取。类的创建、销毁都由 spring容器来控制
反转:在传统编程中,我们手动创建对象,而在IOC中是容器帮我们创建并注入对象,容器帮我们查找和注入对象,对象是被动注入的,叫反转
IoC对编程带来的最大改变不是从代码上,而是从思想上,发生了“主从换位”的变化。应用程序原本是老大,要获取什么资源都是主动出击,但是在IoC/DI思想中,应用程序就变成被动的了,被动的等待IoC容器来创建并注入它所需要的对象。
- DI(Dependency Injection,依赖注入)
IoC和DI是同一个概念的不同角度描述,控制反转概念比较含糊,而依赖注入较明确;
依赖:应用程序依赖于spring容器
注入:spring容器为应用程序注入某个对象,spring容器通过反射来实现注入
AOP与IOC的概念
原文:https://www.cnblogs.com/afei1759/p/11062303.html