spring解决的问题:
解决了业务层和其他层之间的松耦合问题
什么是Spring Boot
用我的话来理解,Spring Boot就是整合了框架的框架,它让一切依赖都变得有序简单,你不用操心A.jar是什么版本,又依赖哪些版本的jar,它默认配置了很多框架的使用方式,就像 maven整合了所有的jar包,Spring Boot整合了所有的框架,第三方库的功能你拿着就能用。
Spring Boot的核心思想就是约定大于配置,一切由内定的约束来自动完成。采用 Spring Boot可以大大的简化你的开发模式,节省大部分照搬照抄的成本,通过少量的代码就能创建一个独立的,它都有对应的组件支持。
springcloud:
springcloud是一套分布式服务治理的框架,本身不会提供功能性内容,专注于服务之间的通讯、熔断、监控等。类似于微服务的管理者。
组件:
Eureka和Ribbon:最基础的组件,一个注册服务,一个消费服务。
hystrix:防止整个微服务架构因为服务器节点问题崩溃,保险丝作用。
Dashboard:给hystrix统计和展示使用,监控节点的压力和健康状况。
Spring和SpringMVC
1、spring是一个一站式的轻量级Java开发框架,核心是控制反转和面向切面编程,针对开发中的WEB层(SpringMVC),业务层(IOC)、持久层(jdbc)等都提供了多种配置解决方案。
2、springMVC是spring基础之上的一个MVC框架,主要处理的是web开发的路劲映射和视图渲染,属于spring框架中web层中开发一个框架。
SpringMVC和SprinBoot:
1、SpringMVC是一个企业级的MVC框架,包括了前端的视图开发,稳健配置,后台接口逻辑开发,xml,config等基本配置,比较繁琐。
2、springboot框架是整合了所有的框架,类似于maven整合了所有的jar包,更专注于开发微服务后台接口。
SpringBoot和SpringCloud:
1、springboot是使用了默认大于配置的理念,可以自动配置需要的多个插件,自动过滤不需要配置的多余插件,简化了项目开发流程,取消了xml配置,能快速进行开发单个的微服务。
2、springcloud是基于springboot实现,更关注与多个微服务全局的整合和管理,将多个的springboot单体微服务进行整合、管理。
总结:
1、spring框架家族包含了众多的产品,但整个基础都是基于IOC,AOP,在此基础上进行延伸的高级产品。
2、SpringMVC是基于servlet的一个web框架,配置较繁琐。
3、springboot更主要是对微服务方面的接口进行开发。
4、springcloud是注重微服务全局管理和整合,管理多个springboot单体框架。