Spring、SpringMVC和SpringBoot的区别及说明

目录
  • 一、概念
    • 1、Spring
    • 2、SpringMVC
    • 3、SpringBoot
  • 二、原理和结构
    • 1、Spring的原理和组成
    • 2、SpringMVC的原理和组成
    • 3、SpringBoot的原理和特性
  • 三、区别与总结
    • 1、简单理解为
    • 2、关系大概就是这样
    • 3、Spring Boot 对比Spring的一些优点包括
    • 4、结论

一、概念

1、Spring

Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。

其核心就是控制反转(IOC),和面向切面(AOP),简单的说就是一个分层的轻量级开源框架。

2、SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。

SpringMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等。

SpringMVC是一个MVC的开源框架,SpringMVC=struts2+spring,springMVC就相当于是Struts2加上Spring的整合。

3、SpringBoot

Springboot是一个微服务框架,延续了spring框架的核心思想IOC和AOP,简化了应用的开发和部署。

Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题—>习惯大于约定。

二、原理和结构

1、Spring的原理和组成

Spring为简化我们的开发工作,封装了一系列的开箱即用的组件功能模块,包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等。

如下图:

简化的理解图:

2、SpringMVC的原理和组成

从上图中可以看出:SpringMVC是属于SpringWeb里面的一个功能模块(SpringWebMVC)。专门用来开发SpringWeb项目的一种MVC模式的技术框架实现。

其原理如下:

MVC:Model(模型)、VIew(视图)、Controller(控制器);我们从开始接触并学习javaWeb开发就知道MVC这一种架构,如早起的Sturts1、Sturts2等。

3、SpringBoot的原理和特性

Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的XML配置,为更快,更高效的开发生态系统铺平了道路。

Spring Boot中的一些特点:

创建独立的spring应用。嵌入Tomcat, JettyUndertow 而且不需要部署他们。提供的“starters” poms来简化Maven配置。尽可能自动配置spring应用。提供生产指标,健壮检查和外部化配置。绝对没有代码生成和XML配置要求。

组成和结构如下图:

从图中可以看出SpringBoot是包含了Spring的核心(IOC)和(AOP);以及封装了一些扩展,如Stater:

三、区别与总结

1、简单理解为

Spring包含了SpringMVC,而SpringBoot又包含了Spring或者说是在Spring的基础上做得一个扩展。

2、关系大概就是这样

spring mvc < spring < springboot

3、Spring Boot 对比Spring的一些优点包括

提供嵌入式容器支持使用命令java -jar独立运行jar在外部容器中部署时,可以选择排除依赖关系以避免潜在的jar冲突部署时灵活指定配置文件的选项用于集成测试的随机端口生成

4、结论

Spring Boot只是Spring本身的扩展,使开发,测试和部署更加方便。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Spring Boot 和 Spring 到底有啥区别你知道吗

    目录 什么是Spring? 什么是Spring Boot? 1.Maven依赖 2.MVC配置 3.配置模板引擎 4.Spring Security 配置 总结 对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水随着经验的积累.我慢慢理解了这两个框架到底有什么区别. 相信对于用了SpringBoot很久的同学来说,还不是很理解SpringBoot到底和Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法!

  • SpringBoot与SpringMVC中参数传递的原理解析

    目录 一:普通参数与基本注解 二:复杂参数 一:普通参数与基本注解 HandlerMapping中找到能处理请求的Handler(Controller,method()) 为当前Handler找一个适配器HandlerAdapter:RequestMappingHandlerAdapter 1.HandlerAdapter 0-支持方法上标注@RequestMapping 1-支持函数式编程的 xxxx 2.执行目标方法 3.参数解析器:确定要执行的目标方法每一个参数的值是什么 boolean

  • 浅谈Springboot之于Spring的优势

    Spring在Java EE开发中是实际意义上的标准,但我们在开发Spring的时候可能会遇到以下令人头疼的问题: (1)大量配置文件的定义; (2)与第三方软件整合的技术问题,Spring每个新版本的推出都以减少配置作为自己的主要目标,例如: (a)推出@Component, @Service, @Repository, @Controller等注解在类上声明Bean; (b)推出@Configuration, @Bean的Java配置来替代Xml配置. 在脚本语言和敏捷开发大行其道的时代,J

  • Spring和SpringBoot之间的区别

    目录 Spring是什么? Spring Boot是什么? Maven依赖项 springboot为不同的Spring模块提供了许多启动程序依赖项.最常用的方法有: MVC配置 配置模板引擎 Spring Security 配置 Spring如何引导? 如何启动Spring Boot? 打包和部署 结论 在本教程中,我们将研究标准Spring框架和Spring Boot之间的区别. 我们将重点讨论Spring的模块,如MVC和Security,在核心Spring中使用时与在Boot中使用时的区别

  • Spring、SpringMVC和SpringBoot的区别及说明

    目录 一.概念 1.Spring 2.SpringMVC 3.SpringBoot 二.原理和结构 1.Spring的原理和组成 2.SpringMVC的原理和组成 3.SpringBoot的原理和特性 三.区别与总结 1.简单理解为 2.关系大概就是这样 3.Spring Boot 对比Spring的一些优点包括 4.结论 一.概念 1.Spring Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系.

  • Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识

    1.对原生态jdbc程序中问题总结 1.1 jdbc程序 需求:使用jdbc查询mysql数据库中用户表的记录 statement:向数据库中发送一个sql语句 预编译statement:好处:提高数据库性能. 预编译statement向数据库中发送一个sql语句,数据库编译sql语句,并把编译的结果保存在数据库砖的缓存中.下次再发sql时,如果sql相同,则不会再编译,直接使用缓存中的. jdbc编程步骤: 1. 加载数据库驱动 2. 创建并获取数据库链接 3. 创建jdbc statemen

  • 简单了解SpringMVC与Struts2的区别

    这篇文章主要介绍了简单了解SpringMVC与Struts2的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应

  • Spring+SpringMVC+MyBatis整合实战(SSM框架)

    目录 SpringMVC Spring MyBatis 项目结构 maven配置文件pom.xml webapp配置文件web.xml spring配置文件applicationContext.xml spring-mvc配置文件spring-mvc.xml mybatis映射文件AccountMapper.xml mybatis配置文件(两种整合方法) 日志配置文件log4j.properties 建表语句 Tomcat传递过程 在写代码之前我们先了解一下这三个框架分别是干什么的? Sprin

  • SpringMVC视图转发重定向区别及控制器示例详解

    目录 SpringMVC视图 一.ThymeleafView 二.转发视图 三.重定向视图 四.转发和重定向区别 五.视图控制器 view-controller SpringMVC视图 SpringMVC 中的视图是 View 接口,视图的作用是渲染数据,将模型 Model 中的数据展示给用户. 视图的种类很多,默认有:转发视图和重定向视图. 若使用的视图技术为 Thymeleaf,在 SpringMVC 的配置文件中配置了 Thymeleaf 的视图解析器,由此视图解析器解析之后所得到的是 T

  • spring+springmvc整合mabytis时mapper注入失败问题解决方法

    好久不搭架构,今天使用spring+springmvc整合mabytis的时候,坑爹的两个问题发生了. 花了一晚上解决这两个问题.现在将错误经验总结分享下,避免以后遇到坑继续往里跳. 1. 单元测试的时候,单元测试失败报错: A ServletContext is required to configure default servlet handling 十月 28, 2016 9:03:33 下午 org.springframework.context.support.GenericAppl

  • 详解spring+springmvc+mybatis整合注解

    每天记录一点点,慢慢的成长,今天我们学习了ssm,这是我自己总结的笔记,大神勿喷!谢谢,主要代码!! ! spring&springmvc&mybatis整合(注解) 1.jar包 2.引入web.xml文件 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param

  • Spring+SpringMVC+MyBatis深入学习及搭建(三)之MyBatis全局配置文件解析

    前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(二)--MyBatis原始Dao开发和mapper代理开发 MyBatis的全局配置文件SqlMapConfig.xml,配置内容和顺序如下: properties(属性) setting(全局配置参数) typeAliases(类名别名) typeHandlers(类名处理器) objectFactory(对象工厂) plugins(插件) environments(环境集合属性对象) environment(环境子属性

  • Java框架篇:Spring+SpringMVC+hibernate整合开发

    前言: 最近没什么事做,搭个框架写成博客记录下来,拉通一下之前所学知识. 话不多说,我们直接步入正题. 准备工作: 1/安装并配置java运行环境 2/数据库的安装配置(Mysql) 3/安装并配置服务器(Tomcat) 4/Maven 5/ IntelliJIDEA的安装配置(本人使用的主要软件是IntelliJIDEA,没用eclipse什么的) 6/ 使用IntelliJIDEA创建一个web app项目. 貌似就这些了吧 导包 不同于以往的导包,由于我们创建的是maven的webapp项

  • JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架

    简单介绍一下,本框架的基本功能点: Spring:整个框架的主体部分,这个自不用说. SpringMVC:MVC部分我还是比较喜欢Spring的. MyBatis:选型的时候选择这个ORM主要也是考虑其灵活性的问题,毕竟我也不知道,今后会遇到怎样的需求,用Hibernate一来是不太会用,二来,我还是比较喜欢直接写SQL来的简单一点. SpringSecurity:这个主要是安全框架,负责用户登录验证及整站权限分配的相关事项(权限分配真的很有用,这个我就不多说了). EhCache:一个非常流行

随机推荐