三分钟解读springmvc依赖
长期以来都在写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依赖的更多相关文章
- 三分钟分布式CAP理论
分布式系统架构理论,定义了三种指标,理论说我们最多只能满足两个. ## 分布式系统 首先我们这个理论所说的分布式系统,是指系统内会共享数据,互相有连接有交互,才能完成系统功能的的分布式系统.而这个理论 ...
- LIN、CAN、FlexRay、MOST,三分钟搞明白四大汽车总线
LIN.CAN.FlexRay.MOST,三分钟搞明白四大汽车总线 2016-09-21 13:09 汽车中的电子部件越来越多,光是ECU就有几十个,这么多的电子单元都要进行信息交互.传统的点对点通信 ...
- 【转】iPhone易被窃听应用三分钟即可获取所有信息
2011年8月9日10:19 “你有iPhone吗?这下你麻烦了!”昨天香港<东方日报>封面文章用这样的语气报道说,一种iPhone等智能手机窃听程序,正引爆香港. 该报记者亲自试验,发现 ...
- 转载:Windows下三分钟搭建Shadowoscks服务器端
Windows下三分钟搭建Shadowoscks服务器端 之前在V2EX上有人问为啥没人做个在Windows上一键运行Shadowsocks服务器端的程序,我只想说……这是因为没人关注我的libQtS ...
- [转]三分钟学会.NET Core Jwt 策略授权认证
[转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而 ...
- 三分钟快速上手TensorFlow 2.0 (下)——模型的部署 、大规模训练、加速
前文:三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署 TensorFlow 模型导出 使用 SavedModel 完整导出模型 不仅包含参数的权值,还包含计算的流程(即计算 ...
- 三分钟极速体验:Java版人脸检测
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 三分钟:极速体验JAVA版目标检测(YOLO4)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- x01.TextProc: 两三分钟完成的一个小工具
在工作中,遇到这么个问题,需要将 Excel 表中类似 2134-1234-4456 的商品编号输入到单位的程序中,而程序只认 213412344456 这种没有 ‘-’ 的输入.数量比较多,一笔一笔 ...
随机推荐
- 利用rem实现webapp布局
rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了. 但是我对rem综合评价是用来做web app它绝对是最合适的人选之一 ...
- [转] spring事务管理几种方式
前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. ...
- ibatis resultMap 的用法
先看个具体的例子: <resultMap id=”get-product-result” class=”com.ibatis.example.Product”> <result pr ...
- ArcEngine 关于缩放至一定比例显示地图的问题
有这一句就行了.axMapControl.get_Layer(i).MinimumScale=j;i为该图层的indexj为比例尺的分母
- 利用 gperftools 对nginx mysql 内存管理 性能优化
利用 gperftools 对nginx 与 mysql 进行 内存管理 性能优化 降低负载. Gperftools 是由谷歌开发.官方对gperftools 的介绍为: These tools ...
- iOS10适配——错误:Code=3000
error : Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串" UserIn ...
- [iOS] 响应式编程开发-ReactiveCocoa(一)
什么是响应式编程 响应式编程是一种面向数据流和变化传播的编程范式.这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播. 例如,在命令式编程环境中 ...
- libconfig第二篇----两个小例子
本文只看粗体即可,太多catch语句.两个例子均来自libconfig包的example文件夹下面,. 例子一: #include <iostream> #include <ioma ...
- mysql--学生课程成绩表
创建表student: CREATE TABLE `student` ( `sid` INT(11) NOT NULL AUTO_INCREMENT, `sname` VARCHAR(20) NOT ...
- iOS动画特效
关于图层的几个坐标系. 对于ios来说,坐标系的(0,0)点在左上角,就是越往下,Y值越大.越往右,X值越大. 一个图层的frame,它是position,bounds,anchorPoint和tra ...