上一篇文章刚刚简单介绍了spring框架,下面我将介绍一下Spring,SpringMVC,SpringBoot,SpringCloud的联系和区别。
首先先简单介绍一下各个框架。
Spring的核心思想是ioc和aop,这些东西在上一篇博客是有介绍的。
SpringMVC是在Spring基础上开发出来的框架,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架。
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
Spring Cloud是一系列框架的有序集合。它利用Spring Cloud的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
下面是它们的区别:
Spring是一个站式的轻量级java开发框架,而SpringMVC是在Spring的基础上的一个MVC框架(MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。)。结合对MVC的理解SpringMVC主要注重的是web应用的开发。springBoot框架相对于springMvc框架来说,更专注于开发微服务后台接口,不开发前端视图。而且SpringBoot没有过于繁琐的xml配置。Spring Cloud大部分插件内容是根据SpringBoot实现的。springCloud关注于全局的微服务整合和管理,将多个springBoot单体微服务进行整合以及管理; springCloud依赖于springBoot开发,而springBoot可以独立开发。
下面是它们的联系:
SpringMVC是在Spring基础上功能的扩充,可以支持前端的开发,这和SpringBoot和SpringCloud的关系差不多。而且SpringBoot是在Spring上的操作简化,不需要繁琐的配置。