美文网首页
SpringBoot与SpringMVC关系

SpringBoot与SpringMVC关系

作者: _嬉笑怒骂 | 来源:发表于2019-01-04 16:18 被阅读0次

    概况:

            Springboot相当于一个大的框架,里面包含了包括spring在内的其他东西,SpringMVC又仅仅是Spring当中处理Web层请求的一个模快,所以,整体上来说,三者之间的关系大概为:SpringBoot>Spring>SpringMVC

    Spring是一个“引擎”;

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

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

    SpringBoot与SpringMVC的关系

            Spring框架有众多的衍生者,例如boot,jpa等等,但是它们的核心基础都为ioc 与 aop,ioc提供了依赖注入容器aop,在此基础上实现了其他延生框架的其他功能。

            通俗点来说为,Spring最初利用"工厂模式"(DI)与"代理模式"(AOP)解耦应用组件,在此基础上,开发了一个MVC模式,用于开发web应用,但是MVC模式存在一个弊端,容易在开发过程中,重复写很多样板式代码,为了简化工作流程,开发出了一些“懒人整合包”(starter),这套就是SpringBoot。

         SpringMVC通过Dispatcher Servlet,ModelAndView和View Resolver主要用来解决网站应用程序或者服务开发,URL路由,Session,模板引擎,web静态资源等等。而SpringMVC的配置较为繁琐,而SpringBoot引入了自动配置的概念,使得项目搭建更为简化,SpringBoot 本身并没有提供Spring 的核心特性以及扩展功能,即SpringBoot 并不能够替代Spring,而是和Spring框架本身紧密关联的提升开发者体验的工具。

        SpringBoot 集成了大量其他的其他第三方库的配置,例如Redis,JDBC,Mail等等,所以Spring能够可以几乎零配置的使用第三方库,或者只需要很简单的配置就能够使用第三方库。

        但是如果承载项目是Web项目,使用SpringMVC作为使用MVC框架的话,那么工作流程与之前相同,因为,这是SpringMVC的工作而不是SpringBoot的工作,SpringBoot可以省略安装Tomcat这类容器服务器,当然也依旧可以使用Tomcat进行启动。

    Spring Boot的核心功能:

    (1)独立运行的Spring项目

    Spring Boot可以以jar包的形式进行独立的运行,使用:java -jar xx.jar 就可以成功的运行项目,或者在应用项目的主程序中运行main函数即可;

    (2)内嵌的Servlet容器

    内嵌容器,使得我们可以执行运行项目的主程序main函数,并让项目的快速运行;

    (3)提供starter简化Manen配置

    Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖

    (4)自动配置Spring

    Spring Boot会根据我们项目中类路径的jar包/类,为jar包的类进行自动配置Bean,这样一来就大大的简化了我们的配置。当然,这只是Spring考虑到的大多数的使用场景,在一些特殊情况,我们还需要自定义自动配置;

    (5)应用监控

    Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控;

    相关文章

      网友评论

          本文标题:SpringBoot与SpringMVC关系

          本文链接:https://www.haomeiwen.com/subject/gwaxrqtx.html