Spring、SpringMVC、SpringBoot和SpringCloud关系

Spring特点:轻量级、控制反转、面向切面、容器、框架集合

Spring

Spring是一个一站式的轻量级的Java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对开发的WEB层(SpringMVC)、业务层(IOC)、持久层(jdbcTemplate)等都提供了解决方案。

SpringMVC

SpringMVC是在Spring基础之上的一个MVC框架,主要处理web开发的路径映射和视图渲染,属于Spring框架中WEB层开发的一部分,包括前端视图开发、文件配置、后台接口、逻辑开发等,XML、config等相关配置相对比较繁琐复杂。

SpringBoot

SpringBoot框架相对于MVC框架来说更专注于开发微服务后台接口,不开发前端视图,同时遵循默认优于配置,简化插件配置流程,不需要配置XML,相对于SpringMVC大大简化配置流程。

SpringBoot的一些功能:

通过starter依赖简化构建和复杂的应用程序配置
直接main函数启动,嵌入式web服务器,避免应用程序部署的复杂性,Metrics度量,Helth check健康检查和外部化配置。
尽可能的自动化配置Spring功能。

SpringCloud

SpringCloud是一个基于SpringBoot实现的服务治理工具包,在微服务架构中用于管理和协调服务,SpringCloud是一系列框架的有序集合,利用SpringBoot的开发便利性简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot做到一键启动和部署。

SpringCloud将多个SpringBoot单体微服务进行整合以及管理,SpringCloud依赖于SpringBoot开发,而SpringBoot可以独立开发。

微服务

把一个单体项目拆分成多个微服务,每个微服务可以独立技术选型,独立开发,独立部署,独立运维,并且多个服务相互协调,相互配合,最终完成用户的价值。

总结

1)Spring框架就像一个家族,有众多衍生产品例如boot、security、jpa等,但他们的基础都是Spring的IOC、AOP等,IOC提供了依赖注入的容器,AOP解决了面向切面编程,在此两者基础上实现其他延伸产品的高级功能;

2)SpringMVC是基于Servlet的一个MVC框架,主要解决WEB开发的问题,因为Spring的配置非常复杂,各种XML、JavaConfig、servlet处理起来比较繁琐;

3)为了简化开发者的使用,从而创造性的退出了SpringBoot框架,默认优于配置,简化了SpringMVC的配置流程;区别于SpringMVC的是,SpringBoot专注于微服务方面的接口开发,和前端解耦,虽然SpringBoot也可以做成SpringMVC前后台一起开发,但是不符合SpringBoot框架的初衷。

4)对于SpringCloud框架来说,它和SpringBoot一样,注重的是微服务的开发,但SpringCloud更关注的是全局微服务的整合和管理,相当于多个SpringBoot框架的单体微服务。

原文链接:https://blog.csdn.net/weixin_46035801/article/details/125470713

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值