
Spring 是一个轻量级的 Java 开源框架,它以控制反转(IOC)和面向切面编程(AOP)为思想内核。提供了控制层 SpingMVC、数据层 SpringData、服务层事务管理等众多技术,并可以整合众多的第三方框架。Spring 框架可以降低开发的复杂度,让开发人员更多的注重业务而不是编写代码,并且可以通过 POJO 为基础的编程模型促进良好的编程习惯。
Spring 将很多复杂的代码变得优雅简洁,有效的降低代码的耦合度,极大的方便项目后期维护、升级和扩展。

Spring框架根据不同的功能被划分成了多个模块,这些模块可以满足一切企业级应用开发的需求,在开发过程中可以根据需求有选择性地使用所需要的模块。
Core Container:Spring核心模块,任何功能的使用都离不开该模块,是其他模块建立的基础。
Data Access/Integration:该模块提供了数据持久化的相应功能。
Web:该模块提供了web开发的相应功能。
AOP:提供了面向切面编程实现。
Aspects:提供了与AspectJ框架的集成,该框架是一个面向切面编程框架。
Instrumentation:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用。
Messaging:为Spring框架集成一些基础的报文传送应用。
Test:提供与测试框架的集成。