一、基本概念:
spring是一个轻量级控制反转和面向切面的容器框架,它主要是为了
解决企业应用开发的复杂性诞生的。
1、目的:解决企业应用开发的复杂性,2003
2、功能: 使用基本的JAVABean代替 EJB
并且提供了更多的企业级应用功能,代替EJB
3、范围: 任何java应用
Spring的用途,不仅仅是服务器端的开发,
从简单性,可测试性,松耦合性 角度而言,任何的java应用都可以使用spring
,spring的核心是控制反转和面向切面,简单来说,spring是一个分层的一站式的轻量级开发框架
1、spring的起源
spring的存在是因为它自身有着得天独厚的优势,
他定位的领域是许多其他流行的framework没有的。
· spring致力于提供一种统一的方法来管理你的业务对象。
· spring是全面的和模块化的,
这意味着你,能选择使用它孤立 的任何部分。
它的框架任然是内在和稳定的。因此,从你的学习当中,你可以得到最大的价值。
例如,你可能仅仅使用spring来简单化你JDBC的使用,或者用来管理所有的业务对象。
· 它的设计从底部帮助你编写易于测试的代码,spring是用于测试驱动工程理想的framework,
而且spring对你的功能来说,它不需要一个以上的framework
· spring是潜在的一站式解决方案,定位于典型的大部分项目接口,也涉及到其他framework没
有考虑到的内容。
· 低侵入式设计,代码污染极低
· write Once,Run AnyWhere
· DI 有效的降低了耦合度
· AOP 提供了通用任务的集中管理(安全,日志,事务)
· orm和dao简化了对数据库的访问
· 高度开放性,并不强制
· 可以有效的组织中间层对象
· 使用统一的配置文件
·
促进良好的编程习惯,减少编程代价
· 易于单元测试
· 使EJB成为一种备选
· 为数据存取提供了一致的框架
· 方便解耦,简化开发
· AOP编程的支持
· 声明式事务的支持
· 方便程序的测试
· 方便集成各种优秀框架
· 降低JAVAEE api 的使用难度
· spring的源码是经典学习范例
spring-core:
框架核心,定义了创建,配置和管理bean的方式,组成是spring框架和每个模块
或者组件,都可以单独的存在,或者与其他一个或多个模块来联合实现一个应用场景。
提供了spring框架的基本功能,主要组件是bean factory,它是工厂模式的实现,bean factory使用
控制反转模式,将应用程序的配置和依赖性规范与使用的应用程序代码相分开。
应用上下文。是一个配置文件,向spring框架提供上下文信息,spring上下文包含了
一些企业服务,例如 JNDI,EJB,电子邮件,国际化,校验和调度等功能。
特性,spring-aop模块直接将面向切面的编程的功能,提升到spring框架中。可以很容易的
使spring框架管理的任何对象都支持AOP,spring的AOP 模块为基于spring的应用程序的对象
提供了事务管理服务,通过使用springAOP,不用依赖EJB组件,就可以将声明性事务管理集成到
应用程序当中。
jdbc的抽象层提供了有意义的异常层次结构,可用该接口来管理异常处理,和不通数据库的供应商
所抛出的错误信息,异常层次结构简化了错误处理,并极大的降低了需要 编写的异常代码数量,例如
打开和关闭连接等等。
dao的面向jdbc异常遵从通用的dao异常层次结构
spring-orm:
对象实体映射,spring框架插入了若干orm框架,从而提供了orm的对象的关系工具
其中包括JDO,
web上下文模块建立在spring-context之上,为基于web的应用程序提供了上下文,
所以spring框架支持
与
Struts的集成,web模块还简化了处理多部分检修,以及将域对象绑定到请
求参数的工作。
是一个全功能的构建web应用的MVC实现,通过策略接口,mvc框架变成未高度可
配置的,mvc容纳了大量视图技术,其中包括了jsp。模型有javabean构成,存放于 model当中
而视图是一个接口,负责实现模型。控制器表示逻辑代码,是controller的实现。
spring框架的功能,可以用在任何J2EE服务器当中
三、总结
spring带来了负载的J2EE开发的春天,
·
它的核心是轻量级的IOC容器,它的目标是为J2EE应用提供全方位的整合框架
·
在spring框架下
实现多个子框架的组合,这些子框架之间可以彼此独立,也可以使用其他框架安安加以代替。
·
spring希望为企业应用提供一站式的解决方案
同时使用大量的装载和放射技术,会影响性能。高并发的项目要慎重使用。