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)ORM和DAO简化了对数据库的访问
(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 也就意味着良好的分层设计,并且保证了面向
接口编程,再加上IoC和AOP容器的优势,更加方便后期的维护
但是,由于容器大量的使用反射机制来装配对象一定会影响性能,
所以,对于一些高并发的大型应用,建议要慎重使用
【made by siwuxie095】
- Spring 的概况
- Spring的概况
- Spring概况
- Spring概况
- Spring(一)概况
- Spring框架概况(一)
- Spring知识点概况(一)
- Spring知识点概况(二)
- Spring知识点概况(三)
- ATL的基本概况
- 最近学习的概况!
- jsp的概况
- 最近几天的学习概况
- Shell的概况
- Storm的起源概况
- 算法的简单概况
- Spring学习笔记——spring概况
- Spring漂流记(一)--Spring概况
- switch/for/while/break/continue的使用
- 用户画像杂谈
- 页面输入框展现列表以及选中获取
- 【精华版】mysql的自然连接(natural join)与笛卡尔积
- 【LeetCode】 148. Sort List C语言
- Spring的概况
- KafkaOffsetMonitor
- ORB-SLAM2 学习1
- 有用在线工具
- 百度地图jsapi 自定义大头针的方法
- 【jzoj5055】【GDOI2017模拟二试4.12】【树上路径】【点分治】
- 欢迎使用CSDN-markdown编辑器
- login shell和non-login shell
- Linux Framebuffer驱动剖析之二—驱动框架、接口实现和使用