三分钟解读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包导入了

时间: 2024-08-27 12:48:18

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

三分钟解读零基础如何高效学习大数据?

在我们的生活中,你用微信的时候,你用高德地图的时候,你用电脑的时候,你用某宝网购的时候......无时无刻不在制造数据,而这些数据在"有心人"的利用下,将会给我们的生活带来巨大变化.如今90%的企业都在运用或者都想要利用大数据为其带来更便利的服务,从而大数据高端软件类人才可谓供不应求. 数据分析师已成为当下中国互联网行业需求最高的六类人才职位之一.报告表明数据分析人才供给指数仅为5%,属于高度稀缺.此外,数据分析人才的跳槽速度也最快,平均跳槽速度为19.8个月.根据中国商业联合会数据分

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

LIN.CAN.FlexRay.MOST,三分钟搞明白四大汽车总线 2016-09-21 13:09 汽车中的电子部件越来越多,光是ECU就有几十个,这么多的电子单元都要进行信息交互.传统的点对点通信已经不能满足需求,因此必须要采用先进的总线技术. 车用总线就是车载网络中底层的车用设备或车用仪表互联的通信网络.目前,有四种主流的车用总线:CAN总线.LIN总线.FlexRay总线和MOST总线. 用一张表格来说明各种总线的区别 LIN总线 LIN(Local Interconnect Netwo

三分钟学会Redis在.NET Core中做缓存中间件

原文:三分钟学会Redis在.NET Core中做缓存中间件 大家好,今天给大家说明如何在.NET Core中使用Redis,我们在想要辩论程序的好与坏,都想需要一个可视化工具,我经常使用的是一位国内大牛开发的免费工具,其Github地址为: https://github.com/qishibo/AnotherRedisDesktopManager/releases ,它真的很给力,Redis的安装在 https://github.com/MicrosoftArchive/redis/relea

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

[转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而又苛刻的客户中,我们会不知所措,就现在需要将认证授权这一块也变的复杂而又实用起来,那在专业术语中就叫做自定义策略的API认证,本次案例运行在.NET Core 3.0中,最后我们将在swagger中进行浏览,来尝试项目是否正常,对于.NET Core 2.x 版本,这篇文章有些代码不适用,但我会在文

三分钟教你学Git (四)之紧急救助

如果你不小心git reset --hard HEAD^ 然后这个commit又没有在别的git仓库中,怎么办?是不是这次修改就丢了呢? 当然不是,git为我们每次都历史都保留了reference log 如下: $ git commit -A -m "hongchangfirst commit" 你现在看git的历史记录,你可以看到两次提交: $ git log * d1f3fg5 (HEAD, master) hongchangfirst commit 现在让我们来重置回第一次提交

Maven 系列 三 :坐标和依赖

1 . 坐标 maven 的所有构件均通过坐标进行组织和管理.maven 的坐标通过 5 个元素进行定义,其中 groupId.artifactId.version 是必须的,packaging 是可选的(默认为jar),classifier 是不能直接定义的. groupId:定义当前 Maven 项目所属的实际项目,跟 Java 包名类似,通常与域名反向一一对应. artifactId:定义当前 Maven 项目的一个模块,默认情况下,Maven 生成的构件,其文件名会以 artifactI

三分钟教你学Git (一)之技巧

先来看看几个比较有用的技巧 git stash 将工作区中的状态保存到栈中,供以后apply/pop.可以把它理解为一个commit,但是是存在另一个仓库里的. git reset --hard 将暂存区,工作区,版本库都恢复到某一次提交的状态 --soft 暂存区和工作区都不变,只改变版本库的状态 --mixed (默认) 将版本库和暂存区都改变,不改变工作区 如果在commit之后进行push,发现别人在你之前做了push,这时应该怎么办呢? git reset --mixed HEAD^

三分钟学会 JavaScript 单元测试

此篇文章使用 js-test-driver , 希望给无任何JavaScript 单元测试经验的开发者, 能在最短的时间内, 开展单元测试的工作? 附件: 三分钟学会 JavaScript 单元测试

一片非常有趣的文章 三分钟读懂TT猫分布式、微服务和集群之路

原文http://www.cnblogs.com/smallSevens/p/7501932.html#3782600 三分钟读懂TT猫分布式.微服务和集群之路 针对新手入门的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础,熟练使用Linux,浏览大概需要3-5分钟的时间,结尾有彩蛋. 目录 分布式 微服务 负载均衡集群 高可用集群 弹性云 故障转移 总结 分布式 小马正在经营一个在线购物网站,名叫TT猫,有商品管理.订单管理.用户管理.支付管理.购物车等