Spring 和 Spring MVC的区别

  学习Spring MVC也有几天时间了,那么Spring和Spring MVC的区别到底在哪里,二者是什么关系呢?认为二者是一个东西那肯定是不对的,而认为二者是完全不同的东西那也是不对的。

  Spring是一种开源的框架,是为了解决企业应用开发的复杂性而创建的,它的用途不仅限于服务店的开发,而是任何应用都可以从Spring中受益。其中最主要的思想就是面向切面编程以及控制权反转,分别被缩写为AOP与IOC。使用最通俗外行的话讲,Spring就是一个写代码的模式,这个模式里边不光是一些规则与约定,还提供一些便利工具,这些便利工具实现了控制权反转(也就是通过Spring容器创建对象)与面向切面编程。使用Spring框架,让我们在开发大规模的Java项目时实现高程度的解耦,进而可以灵活地对我们的项目进行维护。

  Spring MVC是一种专注于Java Web的框架,我们可以使用一种通俗的想法来理解,就是:使用了Spring框架的基于MVC模式的前端开发框架,我们知道在开发前端的时候也不光是写前端页面,在控制层肯定是得写Java代码,我们在写这些Java代码的时候,Spring MVC这个框架也会为我们提供很多方便的工具,让我们写起来又快又舒服,里边的很多功能实现都是基于Spring的,同时开发者还基于Spring实现了一些针对WEB开发的特殊功能,让我们在书写起跳转,业务处理等逻辑时更加舒服方便,但是这些功能的实现,都是通过原有的Spring的功能实现的。也就是说Spring MVC是一个基于Spring框架创建的,在WEB开发中别有所长的一个子框架,是通过Spring框架实现的,专注于WEB开发的框架。

  现在我们可以知道二者的区别是什么了,Spring是Spring MVC的爹,相当于JQuery与LayUI的关系,Spring MVC是基于Spring实现的,被加入了一些针对MVC模式的WEB开发的框架,Spring则是原生的,更为基础的框架,Spring MVC被特化成了专注于开发WEB页面,而Spring仍有无尽的可能,Spring可以开发各种Java项目,它也可以开发web项目,但是使用它开发web项目需要我们自己做一些配置,书写一些功能,如果我们写的好,被高度认可,那我们自己写的也可能会成为一个基于Spring的新框架,比如Spring 666什么的,只要真的被认可,这都是有可能的。现在存在很多基于Spring的框架,它们实际上都是Spring的子框架,比如Spring MVC,Spring Boot,Spring Cloud等等,它们五花八门,但是实际上都是基于Spring开发的。

Spring 和 Spring MVC的区别的更多相关文章

  1. spring boot与spring mvc的区别

    Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面 ...

  2. Spring 梳理-Spring配置文件 -<context:annotation-config/>和<context:component-scan base-package=""/>和<mvc:annotation-driven /> 的区别

    <context:annotation-config/> 在基于主机方式配置Spring时,Spring配置文件applicationContext.xml,你可能会见<contex ...

  3. 深入分析Spring 与 Spring MVC容器

    1 Spring MVC WEB配置 Spring Framework本身没有Web功能,Spring MVC使用WebApplicationContext类扩展ApplicationContext, ...

  4. Spring、Spring MVC、MyBatis

    Spring.Spring MVC.MyBatis整合文件配置详解 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. Sp ...

  5. spring、spring mvc、mybatis框架整合基本知识

    学习了一个多月的框架知识了,这两天很想将它整合一下.网上看了很多整合案例,基本都是基于Eclipse的,但现在外面公司基本都在用Intellij IDEA了,所以结合所学知识,自己做了个总结,有不足之 ...

  6. 转载 Spring、Spring MVC、MyBatis整合文件配置详解

    Spring.Spring MVC.MyBatis整合文件配置详解   使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...

  7. 阿里面试官:小伙子,给我说一下Spring 和 Spring Boot 的区别吧

    前言 对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累.我慢慢理解了这两个框架到底有什么区别,相信对 ...

  8. tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南

    之所以sockjs会存在,说得不好听点,就是因为微软是个流氓,现在使用windows 7的系统仍然有近半,而windows 7默认自带的是ie 8,有些会自动更新到ie 9,但是大部分非IT用户其实都 ...

  9. Spring与Struts2整合VS Spring与Spring MVC整合

    Spring与Struts2整合,struts.xml在src目录下 1.在web.xml配置监听器 web.xml <!-- 配置Spring的用于初始化ApplicationContext的 ...

  10. 搭建Spring、Spring MVC、Mybatis和Freemarker

    搭建Spring.Spring MVC.Mybatis和Freemarker 1.pom文件 <project xmlns="http://maven.apache.org/POM/4 ...

随机推荐

  1. uoj349【WC2018】即时战略

    题目链接 WC出了点意外滚粗了,来补补题. \(O(n^2)\)的时间复杂度,\(O(nlogn)\)的询问次数应该还是比较好想的,每次要打通到x的路径,对当前已知的树不断的找重心并询问在重心的哪颗子 ...

  2. VP记录

    预计在最后的日子里适量VP 简单记录一下 CF 1037 Link 上来秒了ABCD,很快啊 A是二进制拆分,B是一眼贪心,C是一个非常简单且好写的dp D把边遍历顺序按照所需的bfs顺序排序,最后比 ...

  3. AK/SK加密认证

    AK/SK认证的实现 AK/SK概述 1.什么是AKSK ak/sk是一种身份认证方式,常用于系统间接口调用时的身份验证,其中ak为Access Key ID,sk为Secret Access Key ...

  4. redis的缓存穿透、击穿、雪崩以及实用解决方案

    今天来聊聊redis的缓存穿透.击穿.雪崩以及解决方案,其中解决方案包括类似于布隆过滤器这种网上一搜一大片但是实际生产部署有一定复杂度的,也有基于spring注解通过一行代码就能解决的,其中各有优劣, ...

  5. Git创建、diff代码、回退版本、撤回代码,学废了吗

    .eye-care { background-color: rgba(199, 237, 204, 1); padding: 10px } .head-box { display: flex } .t ...

  6. 【翻译】Thymeleaf – Spring Security集成模块

    原文链接:Thymeleaf - Spring Security integration modules 来源:thymeleaf/thymeleaf-extras-springsecurity自述文 ...

  7. vulnhub靶场之Beelzebub

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Beelzebub: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com ...

  8. SQLSever事务

    1. 为什么要使用事务? 当一个存储过程或多个SQL语句(指代insert.update.delete类型)依次执行时候, 如果其中一条或几条发生错误,但是其他的还会继续执行,会造成数据的不一致,非常 ...

  9. Dockerfile 跨阶段多阶段使用 ARG 命令

    若要想 Dockerfile 的 ARG 命令可以跨多个阶段使用,需要有以下几步: 先在文件最前面使用 ARG 命令定义 然后在每个阶段分别引用 ARG 命令使用 一个示范的 Dockerfile 文 ...

  10. .NET实现堆排序

    堆排序及相关知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序.首先简单了解下堆结构. 堆 堆是具 ...