Spring的概况

来源:互联网 发布:figma软件 编辑:程序博客网 时间:2024/06/04 18:46

----------------siwuxie095

  

  

  

  

  

  

Spring 的简介

  

  

 Spring 是一个轻量级 控制反转(IoC) 和 面向切面(AOP) 的容器框架

  

兴起于2003年,它是为了解决企业应用开发的复杂性而诞生的,框架的

主要优势之一就是其分层结构,分层结构允许使用者选择使用哪一个组件,

同时为 J2EE 开发提供集成的框架

  

Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 所能完成的事情

  

Spring 的用途不仅仅局限于服务器端的开发,从简单性、可测试性和松耦

合性的角度而言,任何的 Java 应用都可以从 Spring 中受益

  

简单来说:Spring 是一个分层的一站式的轻量级的开源框架

  

1)目的:解决企业应用开发的复杂性

  

2)功能:使用基本的JavaBean代替EJB

  

3)范围:任何Java应用

  

  

JavaBean 必须符合的约定:

  

JavaBean 必须要有一个公共的默认构造函数(无参)

  

JavaBean 的所有属性必须通过 getter 和 setter 方法进行访问

  

JavaBean 必须都是可序列化的(实现 java.io.Serializable 接口)

  

参考链接:

参考链接1,参考链接2,参考链接3,参考链接4,参考链接5,参考链接6

  

  

  

  

  

Spring 的起源

  

  

Spring的存在是因为它自身有着得天独厚的优势:

  

1)Spring 定位的领域是许多其他流行的 framework 所没有的

  

Spring 致力于提供一种统一的方法来管理业务对象

  

  

2)Spring是全面的和模块化的

  

Spring 有分层的体系结构,这意味着能选择使用它孤立的任何部分,

其框架仍然是内在和稳定的

  

因此在学习中,可以得到最大的价值,如:仅仅使用Spring来简单

JDBC的使用,或用来管理所有的业务对象

  

  

3)Spring 的设计从底部帮助你编写易于测试的代码

  

Spring 是用于测试驱动工程的理想的framework

  

  

4)Spring是潜在的一站式解决方案

  

Spring 对一个工程来说,不需要一个以上的framework,

它定位于与典型应用相关的大部分基础结构,当然,它也

涉及到其它framework 所没有考虑到的内容

  

  

  

  

  

Spring 的优点

  

由于Spring 的核心概念就是控制反转面向切面,

因此它天生就存在如下的优点:

  

1)低侵入式设计,代码污染极低

  

2)Write Once,Run Anywhere

  

3)DI有效的降低了耦合度

  

4)AOP提供了通用任务的集中管理

  

5)ORMDAO简化了对数据库的访问

  

5)高度开放性,并不强制

  

  

Spring的这些优点贯穿于表现层,业务层以及持久层

  

  

  

  

  

Spring的优点给开发带来的好处:

  

  

1)可以有效组织中间层对象

  

2)使用统一的配置文件

  

3)促进良好编程习惯,减少编程代价

  

4)易于单元测试

  

5)使EJB成为一种备选

  

6)为数据存取提供了一致的框架

  

  

  

  

  

Spring 的特点

  

  

1)方便解耦,简化开发

  

2)AOP编程的支持

  

3)声明式事务的支持

  

4)方便程序的测试

  

5)方便集成各种优秀框架

  

6)降低JavaEE API的使用难度

  

7)Spring的源码是经典学习范例

  

  

  

  

  

Spring 的核心模块

  

  

Spring 框架是一个分层架构,由七个定义良好的模块组成

  

Spring 模块构建在核心容器(Spring Core)之上,核心容器(Spring Core)

对应了创建、配置管理Bean 的方式

  

  

  

组成 Spring 框架的每个模块或组件都可以单独存在,或者与其他一个或多个

模块联合。每个模块的功能如下:

 

(1)核心容器(Spring Core)

  

核心容器提供了Spring框架的基本功能,核心容器的主要组件是BeanFactory,

它是工厂模式的实现。Bean Factory使用控制反转模式将应用程序的配置和依赖

性规范与实际的应用程序代码分开

 

  

(2)上下文(Spring Context)

  

Spring 上下文是一个配置文件,向Spring框架提供上下文信息

  

Spring上下文包括企业服务,如:JNDI、EJB、电子邮件、国际化、校验和调度功能

  

  

(3)AOP模块(Spring AOP)

  

通过配置管理特性,Spring AOP模块直接将面向切面的编程功能

集成到了Spring框架当中。所以,可以很容易的使Spring框架

管理的任何对象支持AOP

  

SpringAOP模块为基于Spring的应用程序中的对象提供了事物

管理服务,通过使用Spring AOP,不用依赖EJB组件,就可以将

声明性事物管理集成到应用程序中

  

  

(4)DAO模块(Spring DAO)

  

JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来

管理异常处理不同数据库供应商所抛出的错误消息

  

异常层次结构简化了错误处理,并且极大的降低了需要编写的异常

代码数量(如:打开关闭连接等)

  

SpringDAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构

  

  

(5)对象关系映射(Spring ORM)

  

Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,

其中包括JDO、Hibernate和 iBatis SQL Map

  

所有这些都遵从Spring通用事务DAO异常层次结构

  

  

(6)Web模块(Spring Web)

  

Web上下文模块建立在应用程序上下文模块之上,

为基于Web的应用程序提供了上下文

  

所以Spring框架支持与Struts的集成,Web 模块还简化了

处理多部分请求以及将请求参数绑定到域对象的操作

  

  

(7)MVC模块(Spring Web MVC)

  

Spring 的 MVC框架是一个全功能的构建Web应用程序的MVC的实现

  

通过策略接口,MVC 框架变成为高度可配置的,MVC容纳了大量视图技术,

其中包括 JSP、Velocity、Tiles、iText 和 POI

  

模型 Model 由JavaBean构成,存放于Map中,而视图 View 是一个接口,

负责实现模型,控制器 Controller 是一个逻辑代码,是控制Control 的实现

  

  

  

Spring框架的功能可以用在任何J2EE服务器当中,大多数功能

也适用于不受管理的环境

  

  

Spring的核心要点是:

  

支持不绑定到特定J2EE服务的可重用业务和数据访问对象

  

毫无疑问,这样的对象可以在不同 J2EE 环境(Web 或 EJB)、

独立应用程序、测试环境之间重用

  

  

  

  

  

总结

  

  

1)Spring 带来了复杂的 J2EE 开发的春天,它让 J2EE 的开发

变得越来越简单

  

2)它的核心是轻量级的IoC 容器,它的目标是为 J2EE 应用提供

全方位的整合框架,在Spring框架下实现多个子框架的组合,这些

子框架之间可以彼此独立,也可以使用其它的框架方案加以代替

  

3)Spring 希望为企业应用提供一站式的解决方案

  

Spring 为企业级服务进行了进一步的封装,简化了企业级的开发,

同时,采用 Spring 也就意味着良好的分层设计,并且保证了面向

接口编程,再加上IoCAOP容器的优势,更加方便后期的维护

  

但是,由于容器大量的使用反射机制来装配对象一定会影响性能,

所以,对于一些高并发的大型应用,建议要慎重使用

  

  

  

  

  

  

【made by siwuxie095】

0 0
原创粉丝点击