spring boot与spring mvc的区别及功能介绍
spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。spring mvc是基于 servlet 的一个 mvc 框架 主要解决 web 开发的问题,因为 spring 的配置非常复杂,各种xml、 javaconfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了spring boot,约定优于配置,简化了spring的配置流程。
说得更简便一些:spring 最初利用“工厂模式”(di)和“代理模式”(aop)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 mvc框架(一些用spring 解耦的组件),用开发 web 应用( springmvc )。然后有发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”(starter),这套就是 spring boot。
spring mvc的功能
spring mvc提供了一种轻度耦合的方式来开发web应用。
spring mvc是spring的一个模块,式一个web框架。通过dispatcher servlet, modelandview 和 view resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——url路由、session、模板引擎、静态web资源等等。
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包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。
所以,用最简练的语言概括就是:
spring 是一个“引擎”;
spring mvc 是基于spring的一个 mvc 框架 ;
spring boot 是基于spring4的条件注册的一套快速开发整合包。
总结
以上所述是小编给大家介绍的spring boot与spring mvc的区别及功能介绍,希望对大家有所帮助
推荐阅读
-
Spring Boot 中application.yml与bootstrap.yml的区别
-
spring boot与spring mvc的区别及功能介绍
-
干货分享:ASP.NET CORE(C#)与Spring Boot MVC(JAVA)异曲同工的编程方式总结
-
spring boot与spring mvc的区别及功能介绍
-
Spring、Spring Boot、Spring Frame、Spring MVC的区别
-
spring boot 与 spring cloud 的区别简述
-
spring boot 与 spring cloud 的区别简述
-
【Spring Boot实战与进阶】过滤器和拦截器的使用及其区别
-
详细介绍Spring Boot 2.0的那些新特性与增强
-
解析动态代理jdk的Proxy与spring的CGlib(包括区别介绍)