长期以来都在写SSM框架的项目,却未能深入理解框架的搭建原理,而只是浅薄的理解前辈的架构,然后不断套用,项目做过几个,但框架的内涵却没有把握。小编打算今天从SpringMVC的依赖分析做起,一步步进行系统化学习。

从springFramework的官方文档入手: 
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#overview-getting-started-with-spring

如上为spring框架的的组件构成图。

一、核心部分Core Container,

  由spring-core, spring-beans, spring-context, spring-context-support, 和spring-expression 构成。

  1.spring-core, spring-beans提供控制反转和依赖注入功能,

  2.spring-context类似jndi注册处,提供资源绑定加载,事件广播,还有EJB, JMX, 和basic remoting等javaEE特征

  3.spring-context-support提供第三方库集成到spring应用,如缓存 caching (EhCache, Guava, JCache), 邮件mailing (JavaMail), 计划任务scheduling

(CommonJ, Quartz) 和模板引擎template engines (FreeMarker, JasperReports, Velocity)

  4.spring-expression 类似EL语言,是对EL的一种扩展

二、Aop和Instrumentation部分,

  由spring-aop,spring-aspects,spring-instrument,spring-instrument-tomcat构成。

  1.spring-aop允许开发者定义方法拦截器和切点

  2.spring-aspects用于aspectj面向切面编程的集成,

  3.spring-instrument用于集成特定容器,

  4.spring-instrument-tomcat提供tomcat的集成

三、Messaging部分,

  由spring-messaging构成。

  spring-messaging与一些基于消息的应用的集成,提供一些消息相关的注解

四、The Data Access/Integration部分, 

  由spring-jdbc,spring-tx,spring-orm,spring-oxm,spring-jms构成。

  1.spring-jdbc使你免于编写数据库连接代码

  2.spring-tx提供事务管理,

  3.spring-orm允许开发者使用O/R对象关系映射框架,和上面提到的事务管理, 

  4.spring-oxm允许将spring-orm抽象成XML映射,即以xml文件来描述映射, 

  5.spring-jmsJAVA消息服务,生成和消费消息,与spring-messaging集成

五、WEB层,

  由spring-web, spring-webmvc, spring-websocket, spring-webmvc-portlet构成 。

  1.spring-web包含http客户端,多文件上传,利用监听器进行ioc容器初始化,提供应用上下文等功能 

  2.spring-webmvc提供MVC和REST WEB服务实现 

  3.spring-webmvc-portlet允许spring-webmvc用于Portlet组件环境(插件式管理)

通过以上对spring框架各个模块的解读,大家就可以根据自己的项目需求进行相应的jar包导入了

三分钟解读springmvc依赖的更多相关文章

  1. 三分钟分布式CAP理论

    分布式系统架构理论,定义了三种指标,理论说我们最多只能满足两个. ## 分布式系统 首先我们这个理论所说的分布式系统,是指系统内会共享数据,互相有连接有交互,才能完成系统功能的的分布式系统.而这个理论 ...

  2. LIN、CAN、FlexRay、MOST,三分钟搞明白四大汽车总线

    LIN.CAN.FlexRay.MOST,三分钟搞明白四大汽车总线 2016-09-21 13:09 汽车中的电子部件越来越多,光是ECU就有几十个,这么多的电子单元都要进行信息交互.传统的点对点通信 ...

  3. 【转】iPhone易被窃听应用三分钟即可获取所有信息

    2011年8月9日10:19 “你有iPhone吗?这下你麻烦了!”昨天香港<东方日报>封面文章用这样的语气报道说,一种iPhone等智能手机窃听程序,正引爆香港. 该报记者亲自试验,发现 ...

  4. 转载:Windows下三分钟搭建Shadowoscks服务器端

    Windows下三分钟搭建Shadowoscks服务器端 之前在V2EX上有人问为啥没人做个在Windows上一键运行Shadowsocks服务器端的程序,我只想说……这是因为没人关注我的libQtS ...

  5. [转]三分钟学会.NET Core Jwt 策略授权认证

    [转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而 ...

  6. 三分钟快速上手TensorFlow 2.0 (下)——模型的部署 、大规模训练、加速

    前文:三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署 TensorFlow 模型导出 使用 SavedModel 完整导出模型 不仅包含参数的权值,还包含计算的流程(即计算 ...

  7. 三分钟极速体验:Java版人脸检测

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. 三分钟:极速体验JAVA版目标检测(YOLO4)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. x01.TextProc: 两三分钟完成的一个小工具

    在工作中,遇到这么个问题,需要将 Excel 表中类似 2134-1234-4456 的商品编号输入到单位的程序中,而程序只认 213412344456 这种没有 ‘-’ 的输入.数量比较多,一笔一笔 ...

随机推荐

  1. Ubuntu Server 重启 Apache Mysql

    a. 重启 apache sudo service apache2 restart b. 重启 MySQL sudo service mysql restart

  2. a标签的target的四个值

    特殊的目标 有 4 个保留的目标名称用作特殊的文档重定向操作: _blank 浏览器总在一个新打开.未命名的窗口中载入目标文档. _self 这个目标的值对所有没有指定目标的 <a> 标签 ...

  3. mysqldump导入导出mysql数据库

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  4. 搭建firefly服务端遇到的问题

    1 pylinter pylinter could not automatically determined the path to "lint.py" 这个错误通过安装pylin ...

  5. Openlayers修改矢量要素

    将以下代码放到demo下examples中即可运行 <!DOCTYPE html><html> <head> <meta http-equiv="C ...

  6. 蘑菇街teamtalk简介

    这几天在看蘑菇街实时通讯程序teamtalk的安卓端代码.现在对程序的大概情况进行简单的介绍. 蘑菇街的teamtalk开源项目包含了服务器端,Android客户端和iPhone客户端的程序.想要进行 ...

  7. RAC(ReactiveCocoa)

    什么是 ReactiveCocoa ReactiveCocoa(其简称为 RAC)是由 Github 开源的一个应用于 iOS 和 OS X 开发的新框架.RAC 具有函数式编程和响应式编程的特性.它 ...

  8. JS实现静态html页面左侧导航,右侧连接页面

    本人前端小菜,想实现左侧导航固定,右侧链接页面,不想用iframe,请问各位有什么好的建议,最好有个demo,谢谢

  9. CodeForces 652B z-sort

    先对序列排个序. 例如:1 2 3 4 5 6 7 我们把序列分成两半,前一半是1 2 3 4,后一半是5 6 7 然后,我们从前一半取最小的一个,再从后一半取最小的一个..一直操作下去就能构造出答案 ...

  10. CodeForces 450B Jzzhu and Sequences

    矩阵快速幂. 首先得到公式 然后构造矩阵,用矩阵加速 取模函数需要自己写一下,是数论中的取模. #include<cstdio> #include<cstring> #incl ...