SpringBoot.SpringMVC和Spring有啥区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot.SpringMVC和Spring有啥区别?相关的知识,希望对你有一定的参考价值。
“Spring Boot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。”
Spring Boot实现了自动配置,降低了项目搭建的复杂度。
众所周知Spring框架需要进行大量的配置,Spring Boot引入自动配置的概念,让项目设置变得很容易。Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。
也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。
同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box)。
大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。
Spring Boot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。
对使用者来说:
换用Spring Boot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。
2、Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题因为 Spring 的配置非常复杂各种XML、 JavaConfig、hin处理起来比较繁琐于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置简化了spring的配置流程。
3、说得更简便一些Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件大家觉得挺好用于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件)用开发 web 应用( SpringMVC )。
4、然后有发现每次开发都写很多样板代码为了简化工作流程于是开发出了一些“懒人整合包”(starter)这套就是 Spring Boot。
5、Spring MVC的功能
6、Spring MVC提供了一种轻度耦合的方式来开发web应用。
7、Spring MVC是Spring的一个模块式一个web框架通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。
8、解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。
1、众所周知Spring框架需要进行大量的配置Spring Boot引入自动配置的概念让项目设置变得很容易Spring Boot本身并不提供Spring框架的核心特性以及扩展功能只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。
SpringBoot, SpringMvc, SpringCloud
1,SpringBoot VS SpringMvc VS SpringBoot
SpringBoot:
SpringBoot 是一个快速开发的框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形式,内置Tomcat容器,帮助开发者能够实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC框架。SpringMVC是控制层。
SpringCloud:
SpringCloud依赖与SpringBoot组件,使用SpringMVC编写Http协议接口,同时SpringCloud是一套完整的微服务解决框架。Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等.
就目前来说,SringBoot 还并不是微服务框架,SpringCloud 是微服务框架。
以上是关于SpringBoot.SpringMVC和Spring有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
基于jawr的springboot+springmvc+thymeleaf的web静态文件压缩方案
spring web(SpringBoot,SpringMVC)项目中返回自定义格式的JSON,不暴露不必要的字段
SpringBoot/SpringMVC Restful接口全局异常处理
Java项目:嘟嘟图片展览馆管理系统(java+Springboot+SpringMVC+JPA+Jsp+maven+mysql)