Spring概述

Spring概述

一、什么是Spring
Spring是个Java企业级开源开发框架,是一个轻量级控制翻转和面向切面的的容器框架。Spring主要用来开发Java应用,但是有些扩展是针对JavaWeb的开发, Spring的目标就是简化Java企业级的应用开发,由于Java软件开发的复杂性,导致了Spring框架的产生。Spring是由基本的JavaBean来完成之前智能由EJB完成的开发任务。然而Spring的开发不仅仅受限于服务器的开发,从简单性、可测试性、松耦合性角度考虑,绝大部分Java应用都收益。

二、使用Spring框架有什么好处
1、轻量:Spring是轻量的,基本版本大约只有2MB。
2、控制翻转(IOC):Spring通过控制翻转实现了松耦合
3、面向切面的编程(AOP):Spring支持面向切面的编程,并将业务和系统服务分隔开
4、容器:Spring包含应用服务对象的管理和生命周期
5、事务管理Spring提供了一个事务管理接口,可以扩展到每一处事物
6、异常处理:Spring提供方便的API对异常进行处理

三、Spring框架的基本模块


image.png

Spring由七大功能模块组成:分别是Spring Core、AOP、ORM、DAO、MVC、WEB、Context。
1、Spring Core
Core模块是Spring的核心类库,所有功能都依赖于Core模块,Core主要实现IOC功能,Spring的所有功能都是借助IOC功能来实现的。
2、AOP
AOP模块是Spring的 AOP库,提供了AOP(拦截)机制,并提供常用的拦截器,供用户配置和使用。
3、ORM模块
Spring的ORM模块提供对常用的ORM框架的管理和辅助支持,Spring支持产常用的Hibernate,IBTAS,Jdao等框架的支持,Spring本身不对ORM进行实现,仅对常见的ORM框架进行封装,并对其进行管理
4、DAO模块
Spring提供对JDBC的支持,对JDBC进行封装,允许JDBC使用Spring资源,并能统一管理JDBC事物,并不对JDBC实现。
5、WEB模块
WEB模块提供对常见的框架如Struts1,WEBWORK(Struts2),JSF的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器。
6、Context模块
Context模块提供框架式的Bean访问方式,其他程序可以通过Context访问Spring的Bean资源,相当于资源注入。
7、MVC模块
WEB MVC模块为Spring提供了一套轻量级的MVC实现,在Spring的开发中,我们既可以使用Struts,也可以用Spring自己的MVC框架,相当于Struts,Spring自己的MVC框架更加简洁和方便。

四、BeanFactory
BeanFactory是工厂模式的一个实现,提供了控制翻转功能,用来把应用的配置和依赖从真正的应用代码中分离。
最常用的BeanFactory实现是XmlBeanFactory类

五、XmlBeanFactory
它是根据XML文件中的定义加载到Beans,该容器从XML文件读取配置元数据并用它去创建一个完全配置的系统或应用

六、什么是Spring IOC容器
Spring IOC负责创建对象,管理对象(通过依赖注入,转配对象,配置对象,并且管理这些对象的生命周期)

七、IOC的优点是什么
IOC或依赖注入把应用的代码量降到最低。它使应用容易测试,单元测试不再需要单例和NDI查找机制。最下的代价和最小的侵入性使松散耦合得以实现。IOC容器支持加载服务时的饿汉式初始化和懒加载

八、一个Spring的应用看起来像些什么
1、一个定义了一些功能的接口
2、这实现包括属性,它的Setter,getter方法和函数等
3、Spring AOP
4、Spring 的XML配置文件
5、使用以上功能的客户端程序

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容

  • 1.1.1 Spring是什么 Spring是一个开源的轻量级Java SE(Java 标准版本)/Java E...
    城市里永远的学习者阅读 671评论 0 49
  • 1.1.1 Spring是什么 Spring是一个开源的轻量级Java SE(Java 标准版本)/Java E...
    消失er阅读 171评论 0 1
  • Spring是一个开源的轻量级JavaSE(Java标准版本)/JavaEE(Java企业版本)开发应用框架,其目...
    CodeKing2017阅读 298评论 0 0
  • 什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但...
    AI乔治阅读 385评论 0 3
  • 看过周金涛周期论的朋友们都会知道,周金涛提出“人生就是一场康波”,他有过很多“预测”,现在回过头来看,基本都实现的...
    晋力吧阅读 222评论 0 1