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. SQL语句编写的练习(MySQL)

    SQL语句编写的练习(MySQL) 一.建表 1.学生表(Student) 学号 | 姓名 | 性别 | 出生年月 | 所在班级 create table Student( sno varchar(2 ...

  2. Cenots7 离线安装部署PostgreSQL

    1 PostgreSQL源码包下载并复制 1.1 PostgreSQL源码包下载: 访问PostgreSQL官网 选择所需版本进行下载,本次下载安装版本为v14.5 1.2 复制源码包至服务器 使用S ...

  3. Linxu常用命令

    一.Linux权限的概念 Linux下有两种用户:普通用户和超级用户: 普通用户:在linux下做有限的事情: 超级用户:可以在linux系统下做任何事情,不受限制. 普通用户的提示符是"$ ...

  4. .net core Blazor+自定义日志提供器实现实时日志查看器

    场景 我们经常远程连接服务器去查看日志,比较麻烦,如果直接访问项目的某个页面就能实时查看日志就比较奈斯了,花了1天研究了下.net core 日志的原理,结合blazor实现了基本效果. 实现原理 自 ...

  5. 驱动开发:内核层InlineHook挂钩函数

    在上一章<驱动开发:内核LDE64引擎计算汇编长度>中,LyShark教大家如何通过LDE64引擎实现计算反汇编指令长度,本章将在此基础之上实现内联函数挂钩,内核中的InlineHook函 ...

  6. 基于SqlSugar的开发框架循序渐进介绍(20)-- 在基于UniApp+Vue的移动端实现多条件查询的处理

    在做一些常规应用的时候,我们往往需要确定条件的内容,以便在后台进行区分的进行精确查询,在移动端,由于受限于屏幕界面的情况,一般会对多个指定的条件进行模糊的搜索,而这个搜索的处理,也是和前者强类型的条件 ...

  7. 如何在Spring Boot开启事务

    说到事务,那什么是事务呢? 事务(Transaction),一般是指要做的或所做的事情. 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行. ...

  8. clang在编译时指定目标文件所需的最低macOS版本

    调研这个的原因,是因为有个同事在macOS 12.2上打包好的程序,放在macOS 10.15上运行时报错: Dyld Error Message:  Symbol not found: __ZNKS ...

  9. 【深入浅出 Yarn 架构与实现】2-1 Yarn 基础库概述

    了解 Yarn 基础库是后面阅读 Yarn 源码的基础,本节对 Yarn 基础库做总体的介绍.并对其中使用的第三方库 Protocol Buffers 和 Avro 是什么.怎么用做简要的介绍. 一. ...

  10. kafka-consumer-groups 命令行工具使用手册

    kafka-consumer-groups 命令行工具使用手册 该手册原文出自 $KAFKA_HOME\bin\windows\kafka-consumer-groups.bat --help 命令的 ...