概述
Spring是最受欢迎的企业级Java应用程序开发框架,来自世界各地的开发人员使用Spring框架来创建性能好,易于测试,可重用的代码。
Spring框架是一个开源的Java平台,最初由Rod Johnson编写,并于2003年6月在Apache2.0许可下首次发布
Spring是轻量级框架,其基础版只有2MB左右大小
Spring框架的核心特性是可以用于开发任何Java应用程序,但是在JavaEE平台上构建web程序是需要扩展的。Spring框架的目标是使J2EE开发变得更容易使用,通过启用基于POJO编程模型来促进良好的编程实践。
使用Spring框架的好处
- Spring 可以使开发人员使用 POJOs 开发企业级的应用程序。只使用 POJOs 的好处是你不需要一个 EJB 容器产品,比如一个应用程序服务器,但是你可以选择使用一个健壮的 servlet 容器,比如 Tomcat 或者一些商业产品
- Spring 在一个单元模式中是有组织的。即使包和类的数量非常大,你只要担心你需要的,而其它的就可以忽略了。
- Spring 不会让你白费力气做重复工作,它真正的利用了一些现有的技术,像ORM 框架、日志框架、JEE、Quartz 和 JDK 计时器,其他视图技术。
- 测试一个用 Spring 编写的应用程序很容易,因为环境相关的代码被移动到这个框架中。此外,通过使用 JavaBean-style POJOs,它在使用依赖注入注入测试数据时变得更容易。
- Spring 的 web 框架是一个设计良好的 web MVC 框架,它为比如 Structs 或者其他工程上的或者不怎么受欢迎的 web 框架提供了一个很好的供替代的选择。MVC模式导致应用程序的不同方面(输入逻辑,业务逻辑和UI逻辑)分离,同时提供这些元素之间的松散耦合。
1、模型(Model)封装了应用程序数据,通常它们将由POJO类组成。
2、视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释HTML输出。
3、控制器(Controller)负责处理用户请求并构建适当的模型,并将其传递给视图进行渲染。 - Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低
- 轻量级的 IOC 容器往往是轻量级的,例如,特别是当与 EJB 容器相比的时候。这有利于在内存和 CPU 资源有限的计算机上开发和部署应用程序。
- Spring提供了一致的事务管理接口,可向下扩展到(使用一个单一的数据库,例如)本地事务并扩展到全局事务(例如,使用 JTA)。