Spring 和 Spring MVC的区别
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的区别的更多相关文章
- spring boot与spring mvc的区别
Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面 ...
- Spring 梳理-Spring配置文件 -<context:annotation-config/>和<context:component-scan base-package=""/>和<mvc:annotation-driven /> 的区别
<context:annotation-config/> 在基于主机方式配置Spring时,Spring配置文件applicationContext.xml,你可能会见<contex ...
- 深入分析Spring 与 Spring MVC容器
1 Spring MVC WEB配置 Spring Framework本身没有Web功能,Spring MVC使用WebApplicationContext类扩展ApplicationContext, ...
- Spring、Spring MVC、MyBatis
Spring.Spring MVC.MyBatis整合文件配置详解 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. Sp ...
- spring、spring mvc、mybatis框架整合基本知识
学习了一个多月的框架知识了,这两天很想将它整合一下.网上看了很多整合案例,基本都是基于Eclipse的,但现在外面公司基本都在用Intellij IDEA了,所以结合所学知识,自己做了个总结,有不足之 ...
- 转载 Spring、Spring MVC、MyBatis整合文件配置详解
Spring.Spring MVC.MyBatis整合文件配置详解 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...
- 阿里面试官:小伙子,给我说一下Spring 和 Spring Boot 的区别吧
前言 对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累.我慢慢理解了这两个框架到底有什么区别,相信对 ...
- tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南
之所以sockjs会存在,说得不好听点,就是因为微软是个流氓,现在使用windows 7的系统仍然有近半,而windows 7默认自带的是ie 8,有些会自动更新到ie 9,但是大部分非IT用户其实都 ...
- Spring与Struts2整合VS Spring与Spring MVC整合
Spring与Struts2整合,struts.xml在src目录下 1.在web.xml配置监听器 web.xml <!-- 配置Spring的用于初始化ApplicationContext的 ...
- 搭建Spring、Spring MVC、Mybatis和Freemarker
搭建Spring.Spring MVC.Mybatis和Freemarker 1.pom文件 <project xmlns="http://maven.apache.org/POM/4 ...
随机推荐
- 怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
GitHub官网地址:https://github.com/ 注意:前提是已经注册了GitHub 文章目录 第一步:创建一个新的仓库 第二步.创建一个分支 第三步.编辑和发布更改的内容 第四步.拉取请 ...
- 不妨试试更快更小更灵活Java开发框架Solon
@ 目录 概述 定义 性能 架构 实战 Solon Web示例 Solon Mybatis-Plus示例 Solon WebSocket示例 Solon Remoting RPC示例 Solon Cl ...
- PX01关于手机屏IIC触摸调试学习笔记
相关文件下载: 上位机工具:http://www.xk-image.com/download/blog/0002_TP调试/LcdTools20210605.rar 调试案例:http://www.x ...
- 三、Python语法介绍
三.Python语言介绍 3.1.了解Python语言 Python 是1989 年荷兰人 Guido van Rossum (简称 Guido)在圣诞节期间为了打发时间,发明的一门面向对象的解释性编 ...
- Istio Ambient Mesh七层服务治理图文详解
摘要:本文主要集中剖析Ambient mesh七层服务治理相关内容. 本文分享自华为云社区<Istio Ambient Mesh七层服务治理图文详解>,作者:华为云云原生团队. 由于Amb ...
- 京东云开发者|软件架构可视化及C4模型:架构设计不仅仅是UML
软件系统架构设计的目标不在于设计本身,而在于架构设计意图的传达.图形化有助于在团队间进行高效的信息同步,但不同的图形化方式需要语义一致性和效率间实现平衡.C4模型通过不同的抽象层级来表达系统的静态结构 ...
- Linux环境下执行脚本重启Weblogic控制台中部署的应用程序
之前有写过一篇博文介绍切换登录方式的脚本,脚本中存在一个缺点:仍需手动去Weblogic控制台重启应用程序:本文即介绍如何在脚本中更新Weblogic控制台中部署的应用程序. 一.配置Weblogic ...
- Java读取txt文件、excel文件的方法
Java读取txt文件.excel文件的方法 1.读取txt文件 public static String getFileContent(String filePath,String charset) ...
- zephyr的GPIOTE驱动开发记录——基于nordic的NCS
简介: 本次测试了zephyr的中断驱动方式(GPIOTE),在这可以去看zephyr的官方文档对zephyr的中断定义,连接如下,Interrupts - Zephyr Project Docume ...
- 2022春每日一题:Day 29
题目:Mishka and Interesting sum 这题稍微分析就能发现实际这个题就是求区间异或和异或上区间不同数的异或和,因此直接转化为HH的项链. 代码: #include <cst ...