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 监控服务间的调用和焠断相关指标。

简述Spring、SpringMVC、SpringBoot关系?相关推荐

  1. Spring SpringMVC SpringBoot SpringCloud概念及关系

    一.Spring SpringMVC SpringBoot SpringCloud概念.关系及区别 Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spr ...

  2. Spring SpringMVC SpringBoot SpringCloud概念、关系及区别

    一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负责表示 ...

  3. [转]Spring SpringMVC SpringBoot SpringCloud概念、关系及区别

     一.正面解读: Spring主要是基于IOC反转Beans管理Bean类,主要依存于SSH框架(Struts+Spring+Hibernate)这个MVC框架,所以定位很明确,Struts主要负 ...

  4. spring+springmvc+springboot 常用注解

    springmvc: @ControllerAdvice:注解内部使用@ExceptionHandler.@InitBinder.@ModelAttribute注解的方法应用到所有的 @Request ...

  5. 帮你理清 SpringBoot 与 SpringMVC 的关系

    spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc.spring mvc 只是spring 处理web层请求的一个模块. ...

  6. 教你理清SpringBoot与SpringMVC的关系

    spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc.spring mvc 是只是spring 处理web层请求的一个模块 ...

  7. Springboot+ssm(Spring+SpringMVC+MyBatis)旧物置换网站

    目  录 摘  要    I 目  录    III 第1章 概述    1 1.1 研究背景    1 1.2 研究现状    1 1.3 研究内容    2 第二章 开发技术介绍    2 2.1 ...

  8. Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 萌芽阶段 很久之前就开始打算整理一下自己的技术博客了,由于各种原因( ...

  9. Spring 和 SpringBoot 最核心的 3 大区别,详解!

    作者:乐傻驴 uee.me/cNDC8 概述 对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累.我慢 ...

  10. 面试官问我:spring、springboot、springcloud的区别,我笑了

    好吧,可能某些项目还在使用dubbo,但是你也一定听过Spring Cloud.至于Spring和Spring Boot,对于现在的Java开发,它们的地位简直可以说是不可或缺了.如果你的新项目在使用 ...

最新文章

  1. 花5分钟看这篇之前,你才发现你不懂RESTful
  2. innerHTML outerHTML innerText
  3. solaris迅速查找手册
  4. bootstrap19-内联表单
  5. WPF的样式(Style)继承
  6. 在运行Loaded runtime CuDNN library: 7103 (compatibility version 7100) but source was compiled with 7003
  7. linux下载命令 scp,linux命令详解之scp命令
  8. python运行方法_对python中执行DOS命令的3种方法总结
  9. MongoDB练习题
  10. 刘翔 ,做你应该做的吧
  11. matlab无穷积分求解_matlab编程求无穷限定积分
  12. linux下如何查看网卡ip,linux下如何查看某个网卡当前使用的IP
  13. 修复因制作苹果macOS安装系统导致损坏的U盘
  14. Hadoop3.1.3搭建集群
  15. Android实现推送PushService通知Notification
  16. killall杀死nginx顽固进程
  17. 基于决策树的高层次语义图像检索
  18. 基于javaweb的自习室图书馆座位预约管理系统(java+ssm+jsp+easyui+mysql)
  19. Unity 1.Roll a Ball
  20. Etix公司和NRB公司在比利时合作建设一个数据中心

热门文章

  1. 互联网公司招聘--奇虎360--技术类--2014年笔试题
  2. 前端JS导出Excel表格 可筛选列 table2excel
  3. 解决Python官网打不开
  4. 中间件监控和告警方案
  5. Java+Uiautomator自动化测试 -- 3.实现手机的五种解锁方式(无/滑动/图案/PIN码/密码|)
  6. 个性化测试学生评测软件,学生综合素质测评软件定制开发方案
  7. vue设置页面的高度100%
  8. 数学之美笔录(1):统计语言模型
  9. 基于springboot的校园二手交易系统-JAVA【数据库设计、论文、源码、开题报告】
  10. php骑手轨迹_轨迹分析,如何解决车辆定位与道路的偏差?|斑马数智技术内参...