1、spring是什么?
Spring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。简单来说, Spring 是一个轻量级的控制反转( IoC )和面向切面( AOP )的容器框架。
- 从大小与开销两方面而言Spring都是轻量的
- 从通过控制反转(IoC)的技术达到松耦合的目的
- 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发
- 包含并管理应用对象的配置和生命周期,这个意义上是一种容器
- 将简单的组件配置、组合成为复杂的应用,这个意义上是框架
2、为什么选择Spring?
- 在Spring上开发简单
- 在Spring上开发应用方便
- 在Spring上开发应用快捷
3、Spring作用
- 容器
- 提供了对多种技术的支持
- JMS
- MQ支持
- UnitTest
- AOP(事物管理、日志等)
- 提供了众多方便应用的辅助类(JDBC Template等)
- 对主流应用框架(Hibernate、MyBatis等)提供了良好的支持
4、Spring适用范围
- 构建企业应用(SpringMVC + Spring + Hibernate/Mybatis)
- 单独使用Bean容器(Bean管理)
- 单独使用 AOP进行切面处理
- 其他的Spring功能:如对消息的支持等
- 在互联网中的应用
5、Spring的优点
- 低侵入式设计,代码的污染极低。
- 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。
- Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦。
- Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用。
- Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。
- Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。
Spring框架的组成结构图如下所示: