什么是Spring?
Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。
Spring特征(好处)
- 轻量级:从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1M多的JAR文件里发布,基本的版本大约2MB,并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型的,Spring应用中的对象不依赖于Spring的特定类。
- 控制反转:Spring通过控制反转实现了松散耦合。一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
- 面向切面(AOP):Spring支持面向切面的编程,把应用业务逻辑和系统服务分开,实现高内聚。
- 容器:Spring负责创建和管理对象(Bean)的生命周期和配置,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建,基于一个可配置原型,你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及他们是如何相互关联的。
- MVC框架:对web应用提供了高度可配置性,其他框架的集成也十分方便。
- 事务管理:Spring提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。
- 异常处理:Spring提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked异常。