springboot和springcloud区别是什么?让我们一起来了解下。
1、区别
(1)使用
springboot可以单独使用;而springcloud必须在springboot使用的前提下才能使用。springboot的设计目的是为了在微服务开发过程中可以简化配置文件,提高工作效率,而springcloud的设计目的是为了管理同一项目中的各项微服务。
(2)框架
SpringBoot只是一个快速开发框架,使用注解简化了xml配置,内置了Servlet容器,以Java应用程序进行执行。而SpringCloud是一系列框架的集合,可以包含SpringBoot。
(3)配置
spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。
2、介绍
SpringBoot:是一个快速开发框架,通过用MAVEN依赖的继承方式,帮助我们快速整合第三方常用框架,完全采用注解化,简化XML配置,内置HTTP服务器,最终以Java应用程序进行执行。
SpringCloud: 是一套目前完整的微服务框架,它是是一系列框架的有序集合。它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来。
今天的分享就是这些,希望能帮助大家。
Spring、SpringMVC、SpringBoot、SpringCloud的异同
“ 简单梳理下Spring家族的关系。”
正式开始记录自己的码农成长之路了,从哪里开始呢?就从Spring大家族开始吧。最开始学的时候可是费了点脑筋。
01—Spring
Spring是一个轻量级的控制反转和面向切面的容器框架,是家族的长子,自2003年发布以来一直引领开发界的潮流。
他相比老的JAVAEE有很多的优秀的特质,下面说说最重要的两个:
1.控制反转(IoC)
所谓控制反转,就是一个对象的使用不再是手动创建,而是被动的被传递 进来。这么做的好处就在于--解耦,尤其是面对接口编程时。
# 老的写法public boolean sendMsg(String msg){ MsgService msgService = new MsgServiceImpl(); return msgService.sendMsg(msg);}# 有IoC后的写法@AutowiredMsgService msgService;public boolean sendMsg(String msg){ return msgService.sendMsg(msg);}
看起来相差不大,但IoC更加的有利于代码的解耦。使用IoC后就由老的面向对象编程变成了面向接口编程,我在使用MsgService 的时候,他的实际实现是对我屏蔽的。这对解耦、拓展、维护是一个很好的基础。我要更改sendMsg的逻辑,只需再提供一个新的该接口的实现替换上就好,其他调用的地方都无需改动。JDBC驱动其实就是这个道理,提供接口规范,各个厂家提供实现就好。
2.面向切面(AOP)
AOP使程序猿更加关注主体业务的开发,一些公共的可抽象的业务比如日志、事务等,在编码时都无须额外关注。这样能更好的实现单一原则、高内聚。
02—SpringMVC
SpringMVC是在Spring的一部分,是一个WEB开发框架。
MVC指的就是MVC设计模式,Model、View、Controller。具体是什么我也不赘述了。
SpringMVC的工作流程简单来说是这样的:
1.DispatcherServlet
是SpringMVC的核心Servlet,字面意思理解,他起着调度的作用。
2.HandlerMapping
DispatcherServlet通过HandlerMapping得到该URI对应的Controller信息。
3.HandlerAdapter
拿到Controller信息后,通过HandlerAdapter调用Controller。
4.Controller
该URI的业务逻辑,完成后返回给HandlerAdapter->HandlerAdapter。
5.ViewResolver
得到Controller的返回数据后,DispatcherServlet通过ViewResolver得到相应的View。
6.View
得到View后,用Model的数据进行渲染,包装到Response中返回给前端。
图的话就是这样的
PS:刚找工作的时候面试最爱问这个
03—SpringBoot
SpringBoot是基于Spring的扩展,主要是简化了大量的配置工作。以约定优于配置、开箱即用策略,提供了一个可以快速搭建应用的框架。
目前开发中基本上都用的是SpringBoot,Spring的XML啊什么的早就忘记了。SpringBoot的使用后续会专门开篇幅介绍。
04—SpringCloud
SpringCloud是在微服务热潮下快速发展的一个框架,但我更喜欢称他为微服务解决方案。
他是的基础是SpringBoot,提供了微服务架构下的各个组件的集成序列(负载均衡、容灾、服务治理等等)。至于什么是微服务,会另开篇幅介绍。
05—结语
今天这篇文章主要就是回顾下Spring家族的关系,接下来会写一些使用上的文章,主要是SpringBoot和SpringCloud的内容,敬请期待。
Java技术资料免费分享,需要的可以关注我后私信找我要
来源:知乎
作者:白天不懂夜的黑
原文:https://zhuanlan.zhihu.com/p/73941433
声明:本文为二次转载,原文不可查