Spring 、SpringBoot、SpringMVC、SpringCloud 概念
1. Spring
是一个轻量级的控制反转IOC和面向切面AOP的容器框架。主要作用是实现解耦。
核心的IOC容器技术,管理依赖的对象,不需要程序员创建和管理依赖的对象,从而实现层与层之间的解耦。
核心的AOP技术:方便我们将一些非核心业务逻辑抽离,从而实现核心业务和非核心业务的解耦。
2. Springboot
Springboot的哲学就是约定大于配置,是为了简化Spring配置的快速开发整合包,主要实现三大功能:
a.通过starter和依赖管理解决依赖问题(通过maven子父工程的方式)
b.通过自动配置,解决配置复杂问题
c.通过内嵌web容器,由应用启动tomcat,而不是tomcat启动应用,来解决部署运行问题。
3. SpringMVC
是Spring的一个后续产品,是Spring的一个子项目,是Spring为表述层(前台页面+后台servlet)开发提供的一整套完备的解决方案。
SpringMVC的特点:
- Spring家族原生产品,与IOC容器等基础设施无缝对接
- 基于原生的servlet,封装了功能强大的前端控制器DispatcherServlet,对请求和响应进行统一处理
- 代码简洁,开发效率高
- 性能卓越
4. SpringCloud
springCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。五大组件:
- Eureka实现服务治理;
- Ribbon主要提供客户侧的软件负载均衡算法;
- Hystrix断路器,保护系统,控制故障范围;
- Zuul,api网关,路由,负载均衡等多种作用;
- Config配置管理。