随着微服务架构的兴起,SpringBoot映入眼帘,今天我们来说下三者的含义以及关系。
Spring:
什么是Spring,这张图足以说明,它由SringCore(IOC)、AOP、JDBC、SpringWeb等组成,再来看一张归纳后的图。
这张图可以更加明确的看出Spring的七大模块,比如:
SpringCore:使用IOC、DI等技术实现依赖管理
SpringAOP:使用面向切面的技术思想实现事务、日志等
SpringJDBC:封装了连接JDBC的重复代码
SpringMVC:
一种MVC架构的实现,这是一个完整的SpringMVC请求流程,它是解决V-C交互问题,即视图与控制层交互问题,优化了原生JavaEE请求方式中Servlet的配置臃肿问题等
SpringBoot:
Spring框架的扩展,其设计目的是简单Spring初始搭建以及开发过程,采用约定大于配置的方式,大量减少配置文件的使用,即采用默认配置即可,如有特殊需求自定义配置即可,它的一些特点如下:
1.快速创建Spring应用
2.内嵌Tomcat、Jetty等容器
3.提供"starter" poms来简化maven依赖的配置
4.消除了之前spring的xml配置
SpringBoot与Spring框架的关系:
SpringBoot框架是Spring框架的一种扩展,基于Spring技术,简化开发提供starter依赖包、内嵌容器、消除xml;
SpringBoot与SpringMVC框架的关系:
SpingMVC是web应用MVC架构的一种实现,如果一个SpringBoot项目是web项目则可以使用SpringMVC模式开发。
SpringBoot与SpingCloud框架的关系:
SpringBoot技术做为开发单一服务的基础,而SpringCloud则是一套分布式服务的解决方案,比如其中的Eureka解决服务注册问题、Ribbon解决服务发现问题、指标监控、熔断等技术