spring boot与spring mvc功能上的区别

    Spring框架就像一个家族,具有许多衍生产品,例如boot、security、jpa等等。但是它们基于Spring的ioc和aopioc,它们提供了一个依赖项注入容器aop,它解决了面向横截面的编程,然后在两者的基础上实现了其他扩展产品的高级功能。SpringMVC是基于Servlet的MVC框架,主要解决WEB开发的问题,因为Spring的配置非常复杂,并且各种XML,JavaConfig和hin的处理相对繁琐。因此,为了简化开发人员的使用,创造性地启动了SpringBoot。约定优于配置,这简化了Spring的配置过程。

    简单地说:Spring最初使用“工厂模式”(DI)和“代理模式”(AOP)来分离应用程序组件。每个人都认为它非常易于使用,因此我根据此模型构建了一个MVC框架(某些组件与Spring分离),以开发Web应用程序(SpringMVC)。然后我发现,每次我写很多样板代码,以简化工作过程,因此我开发了一些“懒人集成包”(入门),这套是SpringBoot。

    SpringMVC的功能

    SpringMVC提供了一种轻度耦合的方式来开发web应用。

java架构师问答社区(ask.lubanjava.com)

    SpringMVC是Spring的一个模块,式一个web框架。通过DispatcherServlet,ModelAndView和ViewResolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

    SpringBoot的功能

    SpringBoot实现了自动配置,降低了项目搭建的复杂度。

attachments-2020-10-lGivUoAL5f830d1835262.jpg
java架构师问答社区(ask.lubanjava.com)


    众所周知,Spring框架需要大量配置,因此SpringBoot引入了自动配置的概念,让项目设置变得很容易。SpringBoot本身不提供Spring框架的核心功能和扩展功能,而仅用于快速,敏捷地开发基于Spring框架的新一代应用程序。换句话说,它不是替代Spring的解决方案,而是与Spring框架紧密集成以增强Spring开发人员体验的工具。同时,它集成了大量常用的第三方库配置(例如Jackson,JDBC,Mongo,Redis,Mail等)。SpringBoot应用程序中的这些第三方库几乎可以在零配置的情况下直接使用。框),大多数SpringBoot应用程序只需要很少的配置代码,开发人员可以将更多精力放在业务逻辑上。

    SpringBoot只是载体,可以帮助您简化项目构建过程。如果您正在承载一个WEB项目并使用SpringMVC作为MVC框架,则工作流程与上述完全相同,因为这部分工作是由SpringMVC而不是SpringBoot完成的。

    对于用户来说,切换到SpringBoot后,项目初始化方法已更改,配置文件已更改。此外,无需单独安装容器服务器(例如Tomcat)。Maven打印jar包并直接运行到网站。核心业务逻辑实现和业务流程实现之间没有变化。

    所以,用最简练的语言概括就是:

    Spring是一个“引擎”;

    SpringMVC是基于Spring的一个MVC框架;

    SpringBoot是基于Spring4的条件注册的一套快速开发整合包。

更多知识可以java架构师问答社区(ask.lubanjava.com)中查看。


本文禁止转载或摘编

-- --
  • 投诉或建议
评论