📖Spring、SpringMVC和SpringBoot

发布: 2016-09-16
热度: 51
趋势: 51
权重: 0
🎯

Spring就像一个大家族,里面包含了很多衍生产品,其中最为出名的就是SpringMVC和SpringBoot,那么这三者之间是什么关系呢?SpringMVC和SpringBoot又专门用来做什么呢?

Spring

Spring 是一个开源容器框架。

可以接管 web 层,业务层,dao 层,持久层的组件,并且可以配置各种 bean,和维护 bean 与 bean 之间的关系。

其核心就是控制反转(IOC)和面向切面(AOP)。

简单的说就是一个分层的轻量级开源框架。

SpringMVC

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

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

某种意义上来说 SpringMVC 可以相当于是 Struts2 加上 Spring 的整合。

SpringBoot

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

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于 Spring 应用的开发,而无需过多关注 XML 的配置。

提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题-> 习惯大于约定。

SpringBoot 的核心在于自动配置。

关系说明

SpringMVC 和 Spring 的关系

Spring 为简化我们的开发工作,封装了一系列的开箱即用的组件功能模块。

包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test 等。
如下图:

SC-117-springhome1.jpg

因此:
SpringMVC 是属于 SpringWeb 里面的一个功能模块(SpringWebMVC)。

专门用来开发 SpringWeb 项目的一种 MVC 模式的技术框架实现。

Spring 和 SpringBoot 的关系

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

我们通过了解 SpringBoot 所具备的能力就很容易理解 Spring 和 SpringBoot 的关系。

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

从功能角度来看,SpringBoot 可以理解为一个可以一键发布的 Spring 应用。

三者关系概述

spring mvc < spring < springboot

  • Spring 包含了 SpringMVC
  • SpringBoot 包含了 Spring
  • SpringBoot 在 Spring 的基础上进行了增强

SpringBoot 下的应用创建和部署

回忆一下在没有 SpringBoot 之前我们创建和发布一个应用需要做那些事情?

  1. pom.xml 中引入 Spring 依赖
  2. pom.xml 中引入第三方依赖,并通过配置文件与 Spring 整合(Bean 管理)
  3. 解决各类依赖冲突(尤其是第三方的依赖版本冲突)
  4. 选择一个运行的容器(如:Tomcat,以下已 Tomcat 举例)
  5. 在环境上安装好 Tomcat 容器
  6. 配置 Tomcat 容器的 server.xml(应用路径、端口等)
  7. 通过 maven 编译打包(pom.xml 需配置编译打包插件)
  8. 将 War 包放到 Tomcat 容器指定路径
  9. 启动 Tomcat 容器(bin/startup.sh)

通过 SpringBoot 来创建应用我们需要做什么?

  1. pom.xml 中引入 SpringBoot 的 starter 依赖
  2. pom.xml 中引入第三方 starter(无需整合和依赖冲突,starter 已按照约定配置做好整合
  3. 通过 maven 编译打包(pom.xml 仅需指定发布格式,如 Jar 包)
  4. 将 Jar 包放到环境上
  5. java -jar xxx.jar(完成启动)

一句话结论

Spring 包含了 SpringMVC,SpringBoot 是 Spring 的扩展,使开发,测试和部署更加方便。

  • Spring 是一个核心引擎
  • SpringMVC 是基于核心引擎的一个 MVC 框架(用于 Web 开发)
  • SpringBoot 是基于核心引擎的一套快速开发整合包
当前文章暂无讨论,留下脚印吧!
大纲
  • Spring
  • SpringMVC
  • SpringBoot
  • 关系说明
    • SpringMVC 和 Spring 的关系
    • Spring 和 SpringBoot 的关系
    • 三者关系概述
  • SpringBoot 下的应用创建和部署
  • 一句话结论
提交成功,请等待审核通过后全面展示!

发表评论

昵称
邮箱
链接
签名
评论

温馨提示:系统将通过浏览器临时记忆您曾经填写的个人信息且支持修改,评论提交后仅自己可见,内容需要经过审核后方可全面展示。

选择头像