在真正涉足Spring的核心之前,先了解一下Spring的设计初衷及设计理念是有必要的。它可以让我们从设计者的角度出发思考问题,然后站在巨人的肩膀上去学习并使用这些理念,而不仅仅是学习如何使用这些框架,并且学习设计理念也可以让我们在一个大的方向上对Spring有一个整体的认识。
Spring的设计初衷
Spring的设计初衷其实就四个字:简化编程。但是为了真正做到这四个字,Spring做了很多事情。如:
- 约定大于配置
- 基于POJO的轻量级和最小侵入性编程(BOP,面向Bean编程)。
- 通过依赖注入(DI)和面向接口编程实现松耦合。
- 通过切面(AOP)和惯性进行声明式编程。
- 通过切面(AOP)和模板减少样板式代码。
Bean设计理念(BOP)
Bean在Spring中是真正的主角。Bean对于Spring就像Object对于OOP(面向对象编程)一样。Spring IoC容器(也叫Bean容器)通过配置文件或者注解的方式来管理对象及对象与对象之间的依赖关系。
控制反转(IoC)的基本概念是:不创建对象,只描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。由容器负责创建对象。
注意IoC(控制反转)和DI(依赖注入)的区别: