简介
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
Spring的起源
1.当已经存在许多开放源代码(和专有)J2EEframework时,我们为什么还需要Spring Framework?
2.因为诸多原因让Spring变得独特:
3.它定位的领域是许多其他流行的framework没有的。
4.Spring致力于提供一种方法管理你的业务对象。
5.Spring是全面的和模块化的。
6.Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用7.Spring来简单化JDBC的使用,或用来管理所有的业务对象。
8.它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。
9.Spring对你的工程来说,它不需要一个以上的framework。Spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。
spring的优点
1.方便解耦,简化开发(高内聚低耦合)
-
spring就是一个大工厂(容器),可以将所有的对象创建和依赖关系维护交给Spring管理
-
spring工厂是用于生成bean
AOP编程的支持
- spring提供面向切面的编程,可以方便的实现对程序进行权限拦截,运行监控等功能。
声明式事务的支持
- spring只需要通过配置就可以完成对事务的管理,无需手动编程
方便程序的测试
- spring对于junit4的支持,可以通过注解的方式测试spring程序
方便集成各种优秀的框架
- spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(茹:Struts、Hibernate、MyBatista、Quartz等)的支持,
降低javaEE API的使用难度
Spring对于javaEE开发中非常难用的一些API(jdbc,javaMail、远程调用)都提供了封装,使得这些API的调用难度大大降低。