Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
Spring的优点:
- 方便解耦,简化开发(高内聚低耦合)
- Spring就是一个大容器,可以将所有对象创建和依赖关系维护,交给Spring来管理
- 使用Spring工厂来生成bean
- AOP编程
- Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
- 声明式事务的支持
- 通过配置即可完成对事务的管理,无需手动编程
- 方便程序的测试
- 支持Junit4
- 方便集成各种优秀框架
- 提供了对各种优秀框架(Struts、Hibernate、Mybatis、Quartz等)的直接支持
- 降低JavaEE API的使用难度
- Spring对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低
Spring体系结构: