Spring是一个开源的Java/Java EE全功能栈的应用程序框架,以Apache许可证形式发布,也有.NET平台下的移植版本http://www.springframework.net/。Spring提供了一个简易的开发方式,这种开发方式,将避免那些可能使底层代码变得繁杂混乱的大量的属性文件和帮助类。
Spring框架是一个分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式。组成Spring框架的每个模块都可以单独存在,或者与其他一个或多个模块联合实现。
IOC和AOP
控制反转模式(也称作依赖性介入)的基本概念:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器(在Spring框架中是IOC容器)负责将这些联系在一起。
AOP,即面向方面的编程,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化,它将那些影响多个类的行米封装到可重用的模块中。
AOP和IOC是补充性的技术,它们都运用模块化方式解决应用程序开发中的复杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和Java类中才能实现日志功能。在AOP方式中,可以反过来将日志服务模块化,并以声明的方式将它们应用到需要日志的组件上。当然,优势就是Java类不需要知道日志服务的存在,也不需要考虑相关的代码。所以,用Spring AOP编写的应用程序代码是松散耦合的。
http://projects.spring.io/spring-framework/
在线文档:http://tool.oschina.net/apidocs/apidoc?api=Spring-3.1.1