Spring是什么?
Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用于企业应用。
是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
- 从大小(占内存)和开销(运行)两方面而言,Spring都是轻量的;
- 通过控制反转[控制反转:简单来说,就是把控制权交出去](IoC)的技术,达到松耦合的目的;
- 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(通用服务)进行内聚性的开发;
- 包含并管理应用对象的配置和生命周期,这个意义上是一种容器;
- 将简单的组件配置,组合成为复杂的应用,这个意义上是框架。
为什么是Spring?而不是其他的框架?
- 在Spring上开发应用简单(可以控制对象的生命周期)、方便(因为管理了对象,所以获取对象实例方便)、快捷。
- Spring带来了复杂的JavaEE开发的春天。(终于知道为什么叫Spring了T_T)
** Spring的作用**
- 容器
- 提供了对多种技术的支持
- JMS
- MQ支持
- UnitTest
- 等等……
- AOP(事务管理、日志等……)
- 提供了众多方便应用开发的辅助类(JDBC Template等)
- 对主流应用框架(Hibernate、Mybatis等)提供了良好的支持
适用范围
- 构建企业应用(SpringMVC+Spring+Hibernate/Mybatis)
- 单独使用Bean容器(Bean管理)
- 单独使用AOP进行切面处理
- 其他的Spring功能,如:对消息的支持等
- 在互联网中的应用