Spring、SpringMvc、SpringBoot、SpringCloud基本原理及区别

导读:本篇文章讲解 Spring、SpringMvc、SpringBoot、SpringCloud基本原理及区别,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc)、业务层(Ioc)、持久层(jdbcTemplate)等都提供了多种配置解决方案
IOC:为我们创建了一个bean容器,这个容器会自动帮我们创建对象,不需要我们手动创建对象,Ioc有一个强大的Di依赖注入,可以通过Java代码或者xml配置可以把我们想注入对象依赖的bean注入到里面,降低代码的耦合度。

控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法。没有IoC的程序中 , 我们使用面向对象编程 , 对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。

Aop:通俗来说,就是把代码横向切开,然后把公共的代码例如日志等放进代码里

2、springMvc是spring基础之上的一个MVC框架,主要处理web开发的路径映射和视图渲染 涵盖面包括前端视图开发、文件配置、后台接口逻辑开发等,XML、config等配置相对比 较繁琐复杂;
MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理 的结果。并通过视图呈现给用户。

3、 springBoot框架相对于springMvc框架来说,更专注于开发微服务后台接口,不开发前端视图,同时遵循默认优于配置,简化了插件配置流程,不需要配置xml,相对springmvc,大大简化了配置流程,内嵌入web服务器,减少了项目部署的复杂性;
SpringBoot适用于传统的单一项目,对于分布式微服务的开发则不再适用

4、spring cloud大部分的功能插件都是基于springBoot去实现的,springCloud关注于全局的微服务整合和管理,将多个springBoot单体微服务进行整合以及管理; springCloud依赖于springBoot开发,而springBoot可以独立开发。
Spring cloud 的核心组件
Eureka:服务注册于发现。
Feign:基于动态代理机制,根据注解和选择的机器,拼接请求 url 地址,发起请求。
Ribbon:实现负载均衡,从一个服务的多台机器中选择一台。
Hystrix:提供线程池,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务的雪崩
Zuul:网关管理,由 Zuul 网关转发请求给对应的服务。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/83610.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!