Spring的核心内容是控制反转(inversion of control, IoC),控制反转的原理是使用配置文件(当然也可以是annotation)来描述组件间的依赖,由控制反转框架来实现配置的依赖。比如组件A需要一个B的实例,控制反转框架可以在运行时动态的创建一个B的实例并传给A组件。控制反转可以使得组件的耦合关系比较松散。
控制反转可以分为依赖查找和依赖注入:
依赖查找又可分为依赖拖拽和上下文依赖查找。
依赖注入可以分为构造方法依赖注入和设置方法依赖注入。
Spring也支持面向切面的编程(AOP),AOP可以弥补OOP在某些方面的不足,比如Spring的事务管理就使用了AOP。