spring boot与spring mvc的区别及功能介绍

 更新时间:2018年02月04日 13:37:43   作者:ThinkVenus  
这篇文章主要介绍了spring boot与spring mvc的区别是什么以及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的区别及功能介绍,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • Java简单实现session保存到redis的方法示例

    Java简单实现session保存到redis的方法示例

    这篇文章主要介绍了Java简单实现session保存到redis的方法,结合实例形式分析了Java将session存入redis缓存服务器的相关设置、实现技巧与操作注意事项,需要的朋友可以参考下
    2018-05-05
  • SpringBoot启动嵌入式Tomcat的实现步骤

    SpringBoot启动嵌入式Tomcat的实现步骤

    本文主要介绍了浅谈SpringBoot如何启动嵌入式Tomcat,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • java变量的声明与赋值分离规范示例

    java变量的声明与赋值分离规范示例

    这篇文章主要为大家介绍了java变量的声明与赋值分离规范示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 详解全局事务注解@GlobalTransactional的识别

    详解全局事务注解@GlobalTransactional的识别

    这篇文章主要为大家介绍了详解全局事务注解@GlobalTransactional的识别源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • feign服务端发现异常客户端处理的方法介绍

    feign服务端发现异常客户端处理的方法介绍

    这篇文章主要给大家介绍了关于feign服务端发现异常客户端处理的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用feign具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 使用HttpServletResponse对象获取请求行信息

    使用HttpServletResponse对象获取请求行信息

    这篇文章主要介绍了使用HttpServletResponse对象获取请求行信息,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • FeignClient如何脱离eureka自定义URL

    FeignClient如何脱离eureka自定义URL

    这篇文章主要介绍了FeignClient如何脱离eureka自定义URL,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 解读Spring-Context的作用及用法

    解读Spring-Context的作用及用法

    这篇文章主要介绍了Spring-Context的作用及用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • JDK数组阻塞队列源码深入分析总结

    JDK数组阻塞队列源码深入分析总结

    在这篇文章当中,我们将通过源码仔细为大家介绍一下JDK具体是如何实现数组阻塞队列的,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-08-08
  • SpringBoot中Mockito单元测试入门

    SpringBoot中Mockito单元测试入门

    单元测试在很多地方都用的到,本文主要介绍了SpringBoot中Mockito单元测试入门,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06

最新评论