简述Spring、SpringMVC、SpringBoot关系?

1、Spring

  • Spring是一个轻量级的Java开发框架,核心是SpringIOC(控制反转)和SpringAOP(面向切面),针对开发的web层、业务层、持久层等都提供了多种配置解决方案。
  • 主要功能:控制反转和面向切面。
  • 控制反转(IOC):将原本在程序中手动创建对象的控制权交由Spring容器来管理,管理对象之间的相互依赖关系,并由容器完成对象的注入,简化应用程序的开发,降低耦合度。
  • 面向切面(AOP):将与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度,利于扩展和维护。在IOC容器创建bean实例的最后对bean进行处理。
    实现AOP的两种方式:
    • 动态代理:采用截取消息的方式对消息进行装饰,以取代原有对象的执行。
    • 静态织入:引入特点的语法创建切面,使得编译器在编译期织入切面代码。

2、SpringMVC

  • SpringMVC是基于Spring的一个MVC框架,主要负责web开发的路径映射和视图渲染。涵盖面包括:前端视图渲染、文件配置、后台接口逻辑开发,XML、config等配置相对比较繁琐复杂。

3、SpringBoot

  • SpringBoot更专注于开发微服务后台接口,不开发前端视图,不需要配置xml,简化了配置流程。由于Spring的配置非常复杂,为了简化开发者使用,继而推出了SpringBoot框架,简化了SpringMVC的配置流程。可以快速构建一个项目,并快速启动,在配置文件环节省去了大量的时间和精力,直接进行业务逻辑代码的编写。
  • 主要功能:自动配置。
  • 如何工作:程序入口点是包含 @SpringBootApplication 注解和main方法的类。使用 @ComponentScan 注解自动扫描项目中包含的所有组件。
  • 自动配置:Spring Boot Auto Configuration会根据在项目中添加的JAR依赖项自动配置Spring应用程序。
  • @SpringBootApplication :注解包括自动配置、组件扫描、SpringBoot配置。配置注解之后,程序会自动去maven中读取每个starter启动器中的spring.factories文件,该文件里配置了所有需要被创建spring容器中的bean。

4、SpringCloud

  • SpringCloud 是一套分布式服务治理的框架,本身不提供具体功能性的操作,更专注于服务之间的管理,比如通讯、熔断、监控等,因此需要很多的组件来支持一套功能。
  • 我们从整体来看一下 Spring Cloud主要的组件,以及服务的访问流程:
    1、外部或者内部的非 Spring Cloud目都统一通过API网关(Zuul或者Nacos)来访可内部服务;
    2、网关接收到请求后,从注册中心( Eureka 或者 Nacos)获取可用服务;
    3、由 Ribbon 或者Nginx 进行均负载后,分发到后端的具体实例;
    4、微服务之间通过 Feign 进行跨服务业务通信处理;
    5、 Hystrix 负责处理服务超时熔断;
    6、 Turbine 监控服务间的调用和焠断相关指标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值