首页 > 其他分享 >spring——spring知识脑图

spring——spring知识脑图

时间:2023-04-04 18:01:58浏览次数:51  
标签:分析 服务 Spring 知识 脑图 源码 spring Cloud


摘要

微服务是将单体应用分拆成多个小体量的的高内聚低耦合的软件服务,可以采用不同的软件语言,不同的数据存储,每个小服务独立部署运行,服务间采用轻量级的通信机制,由不同的团队开发和维护,大大提高了软件的可维护性、扩展性。采用微服务架构,可以帮助我们很好的解决实际业务场景中的问题:

  • 从组织层面讲,系统的分工更加明确,责任更加清晰。
  • 按照业务来划分服务,单个服务代码量小,业务单一,更易于维护。
  • 服务能力更专一,代码重复度降低,可复用性高,使服务调用更加简便。
  • 服务之间耦合性低,可随时加入服务,剔除过时服务。
  • 单个服务也可以弹性扩展,容错能力更强,
  • 更贴合云时代背景的软件开发运维环境,高效自动化构建部署。
  • 数据存储解耦,不必将所有数据集中在一个大库中,不易拆分扩容。

本专栏主要通过介绍spring底层原理和springboot spring cloud相关原理来介绍微服务中的设计,帮助大家更好的掌握微服务的设计与实战。同时还有大厂面试问题,帮助大家在面试的过程中的更好的解释微服务的相关设计理念和原理。那专栏为什么选择 Spring Cloud?Spring Cloud 优点多多,从如下几点可以看出:

  • 源于 Spring,社区活跃、生态丰富、功能稳定,资料多,遇到问题很容易找到解决方案
  • 基于 Spring Boot,组件丰富,开箱即用,更便于业务落地。
  • 相比于其它框架,Spring Cloud 对微服务周边环境的支持力度更大。
  • 开发人员从业基数庞大,对于中小企业来讲,使用门槛较低。
  • 相当一部分企业产品实践,已经在使用 Spring Cloud 作为技术选型来落地应用,支撑实际业务。

Spring Cloud 以全家桶的形式出现,提出了一整套的微服务解决方案,基本囊括了微服务体系中全部组件应用。每个组件又基于 Spring Boot 技术体系,提供开箱即用、约定优于配置的开发方案,可以使开发者们绕过繁琐的组件整合、环境配置等等,快速上手微服务。并且经过了 Spring 社区的整合,有大量的兼容性测试作基础,Spring Cloud 的稳定性是有保证的,我们也不用费尽心思的自己去拼微服务的各个积木块,而且也不一定比它更优秀。选择 Spring Cloud,不论是从开发人员储备、社区活跃度,还是厂商友好性、生态稳定性等角度考虑,都是做微服务架构选型一个良好选择。

一、spring知识学习脑图

spring——spring知识脑图_spring

spring——spring知识脑图_spring_02

spring——spring知识脑图_源码分析_03

二、Spring的源码专栏博文

2.1 Spring IOC源码分析

Spring——Spring IOC源码分析_庄小焱的博客

2.3 ApplicationContent与BeanFactory源码分析

2.4 Spring MVC源码分析

2.5 Spring Bean源码分析

2.6 Spring 循环依赖源码分析

2.7 Spring 注解源码分析

2.8 Spring 配置源码分析

2.9 Spring 事务源码分析

2.10 Spring 设计模式源码分析

2.11 Spring 缓存源码分析

2.12 Springboot的原理分析

三、Spring项目实战项目

Spring实战项目是利用深度学习并实战 spring boot 的项目。包括了springboot的实战项目。

  1. actuator(监控)
  2. admin(可视化监控)
  3. logback(日志)
  4. aopLog(通过AOP记录web请求日志)
  5. 统一异常处理(json级别和页面级别)
  6. freemarker(模板引擎)
  7. thymeleaf(模板引擎)
  8. Beetl(模板引擎)
  9. Enjoy(模板引擎)
  10. JdbcTemplate(通用JDBC操作数据库)
  11. JPA(强大的ORM框架)
  12. mybatis(强大的ORM框架)
  13. 通用Mapper(快速操作Mybatis)
  14. PageHelper(通用的Mybatis分页插件)
  15. mybatis-plus(快速操作Mybatis)
  16. BeetlSQL(强大的ORM框架)
  17. upload(本地文件上传和七牛云文件上传)
  18. redis(缓存)
  19. ehcache(缓存)
  20. email(发送各种类型邮件)
  21. task(基础定时任务)
  22. quartz(动态管理定时任务)
  23. xxl-job(分布式定时任务)
  24. swagger(API接口管理测试)
  25. security(基于RBAC的动态权限认证)
  26. SpringSession(Session共享)
  27. Zookeeper(结合AOP实现分布式锁)
  28. RabbitMQ(消息队列)
  29. Kafka(消息队列)
  30. websocket(服务端推送监控服务器运行信息)
  31. socket.io(聊天室)
  32. ureport2(中国式报表)
  33. 打包成war文件、集成 ElasticSearch(基本操作和高级查询)
  34. Async(异步任务)
  35. 集成Dubbo(采用官方的starter)
  36. MongoDB(文档数据库)
  37. neo4j(图数据库)
  38. docker(容器化)
  39. JPA多数据源Mybatis多数据源代码生成器
  40. GrayLog(日志收集)
  41. JustAuth(第三方登录)
  42. LDAP(增删改查)
  43. 动态添加/切换数据源
  44. 单机限流(AOP + Guava RateLimiter)/分布式限流(AOP + Redis + Lua)
  45. ElasticSearch 7.x(使用官方 Rest High Level Client)
  46. HTTPS
  47. Flyway(数据库初始化)
  48. UReport2(中国式复杂报表)

博文参考

https://github.com/2462612540/spring-boot-demo

标签:分析,服务,Spring,知识,脑图,源码,spring,Cloud
From: https://blog.51cto.com/u_13643065/6169232

相关文章

  • Spring——spring事务原理与实战
    摘要Spring为事务管理提供了丰富的功能支持。Spring事务管理分为编程式和声明式两种。编程式事务指的是通过编码方式实现事务;声明式事务基于AOP,将具体的逻辑与事务处理解耦。生命式事务管理使业务代码逻辑不受污染,因此实际使用中声明式事务用的比较多。声明式事务有两种方式,一种......
  • 7-springcloud-eureka-3-搭建与配置eureka服务注册中心
    SpringCloud要使用Eureka注册中心非常简单和方便,SpringCloud中的Eureka服务注册中心实际上也是一个SpringBoot工程,我们只需通过引入相关依赖和注解配置就能让SpringBoot构建的微服务应用轻松地与Eureka进行整合。具体步骤如下:1、创建一个SpringBoot项目,并且添......
  • 【Spring】链接数据库
    添加Maven依赖:<!--spring-jdbc包--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.10.RELEASE</version>......
  • 动力节点王鹤SpringBoot3笔记——jdk新特性
    一、JDK关注的新特性1.1搭建学习环境JDK:JDK19OpenJDK:https://jdk.java.net/19/LibericaJDK:​​https://bell-sw.com/pages/downloads/​​,是一个OpenJDK发行版,为云原生,容器特别优化。Maven:构建和依赖管理,版本选择3.6以上配置本地仓库和阿里云镜像IDEA2022.3.1Ulti......
  • Spring——Alibaba-pandora boot实战
    摘要阿里的PandoraBoot的核心是Pandora,因此在介绍PandoraBoot之前需要先介绍Pandora。在阿里集体内部,几乎所有的应用都用到了各式各样的中间件,比如HSF、TDDL、Diamond等等。本身中间件之间可能就有版本依赖的问题,比如你的应用HSF和Diamond分别依赖了同名jar包的不同版本,maven只会......
  • Spring使用jdbc模板增删改查
      applicationContext.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop=&q......
  • SpringWebFlux~webclient响应式HttpClient
    1.webClientSpringWebFlux包括WebClient对Http请求的响应式,非阻塞。WebClient实例创建方式:1.1通过静态工厂方法创建响应式WebClient实例WebClient.create()WebClient.create(StringbaseUrl)packagecom.crazymaker.springcloud.reactive.rpc.mock;importorg.......
  • 关于使用Kotlin开发SpringBoot项目使用@Transactional和@Autowired的报错问题
    原文地址:关于使用Kotlin开发SpringBoot项目使用@Transactional和@Autowired的报错问题-Stars-One的杂货小窝问题描述最近在开发一个订单模块,需要出现异常就会触发数据回滚操作,首先就是想到了SpringBoot提供的@Transactiona注解功能,但是使用的时候,发现其他方法就是出现......
  • 3-springcloud整体架构及调用举例
    SpringCloud的整体架构  ServiceProvider:暴露服务的服务提供方。ServiceConsumer:调用远程服务的服务消费方。EureKaServer:服务注册中心和服务发现中心。   ......
  • 【Spring原理分析-Bean生命周期+Spring原理分析-Bean后处理器】
    Spring原理分析-Bean生命周期一、Bean生命周期1、Bean生命周期测试2、生命周期顺序二、自定义BeanPostProcessor实现增强三、模板方法-设计模式一、Bean生命周期1、Bean生命周期测试①编写LifeCycleBean类②编写启动类③测试2、生命周期顺序执行顺序:构造方法→@Autowired→......