Spring的简介
Spring的起源
Spring的优点
Spring的特点
Spring的基本框架
Spring的总结
Spring的简介
spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架,它主要是为了解决企业应用开发的复杂性而诞生的:
- 目的:解决企业应用开发的复杂性
- 功能:使基本的JavaBean代替EJB
- 范围:任何java应用
Spring的起源
Spring的存在是因为有自身得天独厚的优势;
- 定位的领域是许多其他流行的framework没有的(致力于提供统一的方法管理业务对象)
- Spring是全面的和模块化的(spring有分层的体系结构,意味着能够选择使用它孤立的任一个部分,它的框架仍然是内在和稳定的)
- 它的设计从底部帮助你编写易于测试的代码
- Spring是潜在的一站式解决方案
Spring的优点
- 低侵入式设计,代码污染极低
- Wirte Once ,Run Anywhere
- DI有效的降低了耦合度
- AOP提供了通用任务的集中管理(如安全,事务,日志)
- ORM和DAO简化了对数据库访问(提供了与第三方框架的良好整合)
- 高开放性,并不强制(这种优点贯穿于表现层、业务层、持久层)
Spring的优点给开发带来的好处:
- 可以有效组织中间层对象(无论是否选择使用了EJB,spring能够消除许多工程中对单例模式的过多使用,减少了系统的可测试性和面向对象的特性)
- 使用统一的配置文件
- 促进良好编程习惯,减少编程代价
- 易于单元测试(1.spring的基本组成就是简单的javabean 2.spring提供了对junit4的全面支持)
- 使EJB成为一种备选
- 为数据存取提供了一致的框架
Spring的特点
方便解耦,简化开发
AOP编程的支持
声明式事务的支持
方便程序的测试
方便集成了各种优秀框架
降低javaEE API的使用难度
Spring的源码是经典学习范例
Spring的基本框架
核心模块
- 核心容器(Spring Core)
核心容器提供的Spring框架的基本功能,它的主要组件是beanfacotry
- 应用上下文(Spring Context)
是一个配置文件,向Spring框架提供上下文信息,Spring上下文提供了一些企业服务,如JNDI , EJB,电子邮件,国际化,校验和调度等功能。
- AOP模块(Spring AOP)
通过配置管理特性,直接将面向切面的编程功能集成到了Spring框架中,可以很容易使Spring框架管理的任何对象都可以支持AOP。Spring的AOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用SpringAOP不用依赖EJB组件就可以将声明性事务管理集成到应用程序中。
- JDBC和DAO模块(Spring DAO)
JDBC和DAO的抽象层提供了有意义的异常层次结构,可用该结构管理异常处理和不同数据库供应商所抛出的错误信息,异常错误结构简化了错误处理,并且极大地降低了所需编写异常代码数量
- 对象实体映射(Spring ORM)
- Web模块(Spring Web)
web上下文建立在应用程序上下文模块之上,为基于web的应用程序提供了上下文
web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
- MVC模块(Spring Web MVC)
全功能的构建web应用程序的MVC实现
通过策略接口MVC框架便成为高度可配置的,MVC容纳了大量视图技术,包括jsp,..poi..模型由javabean构成存放于map中,视图是一个接口负责实现模型,控制器表示逻辑代码Contorller,Spring的功能可以用在任何J2EE服务器当中,大多数功能也适用于不受管理的环境.
Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据的访问对象,毫无疑问这样的对象可以在不同的J2EE的环境独立应用程序和测试环境之间重用.
Spring的总结
- Spring带来了复杂度J2EE开发的春天
- 它的核心是轻量级的IoC容器,它的目标是为J2EE应用提供全方位的整合框架,在Spring框架下实现多个子框架的组合,这些子框架之间可以彼此独立,也可以使用其他的框架方案加以代替
- Spring希望为企业应用提供一站式的解决方案