spring cloud & spring boot学习教程整理

SpringCloud

点击访问SpringCloud码云仓库

简书整套文档以及源码解析

专题 专题名称 专题描述
001 Spring Boot 核心技术 讲解SpringBoot一些企业级层面的核心组件
002 Spring Cloud 核心技术 对Spring Cloud核心技术全面讲解
003 QueryDSL 核心技术 全面讲解QueryDSL核心技术以及基于SpringBoot整合SpringDataJPA
004 SpringDataJPA 核心技术 全面讲解SpringDataJPA核心技术

【SpringBoot2.x 核心技术】专题文章对应源码

章节 文章名称 源码项目名称
1 SpringBoot核心技术:探究Actuator的默认开放节点 & 详细健康状态 hengboy-spring-boot-actuator
2 SpringBoot核心技术:你了解Actuator开放指定监控节点吗? hengboy-spring-boot-actuator
3 SpringBoot核心技术:Actuator远程关闭服务“黑科技” hengboy-spring-boot-actuator
4 SpringBoot核心技术:Actuator自定义节点路径 & 监控服务自定义配置 hengboy-spring-boot-actuator

【SpringBoot1.x 核心技术】专题文章对应源码

章节 文章名称 源码项目名称
001 第一章:用一个HelloWord来阐述SpringBoot的简单与快速 Chapter1-1
002 第二章:SpringBoot与JSP间不可描述的秘密 Chapter2-1
003 第三章:SpringBoot使用SpringDataJPA完成CRUD Chapter3-1
004 第四章:使用Druid作为SpringBoot项目数据源(添加监控) Chapter4
005 第五章:配置使用FastJson返回Json视图 Chapter5
006 第六章:如何在SpringBoot项目中使用拦截器 Chapter6
007 第七章:SpringBoot整合JavaMail发送邮件 Chapter7
008 第八章:使用拦截器记录你的SpringBoot的请求日志 Chapter8
009 第九章:如何排除SpringBoot内置SpringMvc静态文件地址 Chapter9
010 第十章:配置SpringBoot支持自动装载Servlet Chapter10
011 第十一章:实现SpringBoot单个、多个文件的上传 Chapter11
012 第十二章:SpringBoot使用LogBack作为日志组件 Chapter12
013 第十三章:SpringBoot实战SpringDataJPA Chapter13
014 第十四章:QueryDSL与SpringDataJPA共同服务于SpringBoot Chapter14
015 第十五章:使用SpringBoot validator让数据更真实 Chapter15
016 第十六章:使用Redis作为SpringBoot项目数据缓存 Chapter16
017 第十七章:使用SpringSecurity让SpringBoot项目更安全 Chapter17
018 第十八章:使用oauth2设计SpringBoot项目api接口安全服务 Chapter18
019 第十九章:使用jwt设计SpringBoot项目api接口安全服务 Chapter19
020 第二十章:SpringBoot项目中使用WebSocker配置广播式通信 Chapter20
021 第二十一章:SpringBoot项目中的全局异常处理 Chapter21
022 第二十二章:SpringBoot项目多模块运用与设计 Chapter22
023 第二十三章:SpringBoot项目多模块打包与部署 Chapter23
024 第二十四章:SpringBoot项目多数据源配置 Chapter24
025 第二十五章:SpringBoot添加支持Cors跨域访问 Chapter25
026 第二十六章:SpringBoot使用@Scheduled创建定时任务 Chapter26
027 第二十七章:SpringBoot使用ApplicationEvent&Listener完成业务解耦 Chapter27
028 第二十八章:SpringBoot使用AutoConfiguration自定义Starter Chapter28
029 第二十九章:SpringBoot使用Lombok来优雅的编码 Chapter29
030 第三十章:SpringBoot使用MapStruct自动映射DTO Chapter30
031 第三十一章:SpringBoot修改tomcat配置参数 Chapter31
032 第三十二章:如何获取SpringBoot项目的applicationContext对象 Chapter32
033 第三十三章:修改SpringBoot启动Banner Chapter33
034 第三十四章:SpringBoot自定义配置类 Chapter34
035 第三十五章:SpringBoot与单元测试的小秘密 Chapter35
036 第三十六章:基于SpringBoot架构重写SpringMVC请求参数装载 Chapter36
037 第三十七章:基于SpringBoot架构以及参数装载完成接口安全认证 Chapter37
038 第三十八章:基于SpringBoot架构使用Profile完成打包环境分离 Chapter38
039 第三十九章:基于SpringBoot & Quartz完成定时任务分布式单节点持久化 Chapter39
040 第四十章:基于SpringBoot & Quartz完成定时任务分布式多节点负载持久化 Chapter40
041 第四十一章: 基于SpringBoot & RabbitMQ完成DirectExchange分布式消息消费 Chapter41
042 第四十二章: 基于SpringBoot & RabbitMQ完成DirectExchange分布式消息多消费者消费 Chapter42
043 第四十三章: 基于SpringBoot & RabbitMQ完成TopicExchange分布式消息消费 Chapter43
044 第四十四章: 基于SpringBoot & AOP完成统一资源自动查询映射 Chapter44
045 第四十五章:基于SpringBoot 设计业务逻辑异常统一处理 Chapter45
046 第四十六章:SpringBoot & RabbitMQ完成消息延迟消费 Chapter46
047 第四十七章:SpringBoot2.0新特性 - Quartz自动化配置集成 Chapter47
048 第四十八章:SpringBoot2.0新特性 - RabbitMQ信任package设置 Chapter48
049 第四十九章:SpringBoot2.0新特性 - 你get到WebMvcConfigurer两种配置方式了吗? Chapter49
050 第五十章:SpringBoot2.0新特性 - 岂止至今最简单redis缓存集成 Chapter50
051 第五十一章:基于SpringBoot2 & MongoDB完成自动化集成 Chater51
052 第五十二章:使用SpringBoot Data Rest读取MongoDB内的数据 ---

更多参照博客更新,点击访问  恒宇少年De成长之路。

转自:https://gitee.com/hengboy/spring-boot-chapter

 

Spring boot源码学习推荐

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

Module 名称 Module 介绍
spring-boot-demo-helloworld spring-boot 的一个 helloworld
spring-boot-demo-properties spring-boot 读取配置文件中的内容
spring-boot-demo-actuator spring-boot 集成 spring-boot-starter-actuator 用于监控 spring-boot 的启动和运行状态
spring-boot-demo-admin-client spring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,客户端示例
spring-boot-demo-admin-server spring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,服务端示例
spring-boot-demo-logback spring-boot 集成 logback 日志
spring-boot-demo-log-aop spring-boot 使用 AOP 切面的方式记录 web 请求日志
spring-boot-demo-exception-handler spring-boot 统一异常处理,包括2种,第一种返回统一的 json 格式,第二种统一跳转到异常页面
spring-boot-demo-template-freemarker spring-boot 集成 Freemarker 模板引擎
spring-boot-demo-template-thymeleaf spring-boot 集成 Thymeleaf 模板引擎
spring-boot-demo-template-beetl spring-boot 集成 Beetl 模板引擎
spring-boot-demo-template-enjoy spring-boot 集成 Enjoy 模板引擎
spring-boot-demo-orm-jdbctemplate spring-boot 集成 Jdbc Template 操作数据库,并简易封装通用 Dao 层
spring-boot-demo-orm-jpa spring-boot 集成 spring-boot-starter-data-jpa 操作数据库
spring-boot-demo-orm-mybatis spring-boot 集成原生mybatis,使用 mybatis-spring-boot-starter 集成
spring-boot-demo-orm-mybatis-mapper-page spring-boot 集成通用Mapper和PageHelper,使用 mapper-spring-boot-starter 和 pagehelper-spring-boot-starter 集成
spring-boot-demo-orm-mybatis-plus spring-boot 集成 mybatis-plus,使用 mybatis-plus-boot-starter 集成
spring-boot-demo-orm-beetlsql spring-boot 集成 beetl sql,使用 beetl-framework-starter 集成
spring-boot-demo-upload spring-boot 文件上传示例,包含本地文件上传以及七牛云文件上传
spring-boot-demo-cache-redis spring-boot 整合 redis,操作redis中的数据,并使用redis缓存数据
spring-boot-demo-cache-ehcache spring-boot 整合 ehcache,使用 ehcache 缓存数据
spring-boot-demo-email spring-boot 整合 email,包括发送简单文本邮件、HTML邮件(包括模板HTML邮件)、附件邮件、静态资源邮件
spring-boot-demo-task spring-boot 快速实现定时任务
spring-boot-demo-task-quartz spring-boot 整合 quartz,并实现对定时任务的管理,包括新增定时任务,删除定时任务,暂停定时任务,恢复定时任务,修改定时任务启动时间,以及定时任务列表查询
spring-boot-demo-swagger spring-boot 集成原生的 swagger 用于统一管理、测试 API 接口
spring-boot-demo-swagger-beauty spring-boot 集成第三方 swagger 美化API文档样式,用于统一管理、测试 API 接口
spring-boot-demo-rbac-security spring-boot 集成 spring security 完成基于RBAC权限模型的权限管理,支持自定义过滤请求,动态权限认证,使用 JWT 安全认证,支持在线人数统计,手动踢出用户等操作
spring-boot-demo-rbac-shiro 待完成
spring-boot-demo-session spring-boot 集成 Spring Session 实现Session共享、重启程序Session不失效
spring-boot-demo-oauth 待完成
spring-boot-demo-social 待完成
spring-boot-demo-zookeeper spring-boot 集成 Zookeeper 结合AOP实现分布式锁
spring-boot-demo-mq-rabbitmq spring-boot 集成 RabbitMQ 实现基于直接队列模式、分列模式、主题模式、延迟队列的消息发送和接收
spring-boot-demo-mq-rocketmq 待完成
spring-boot-demo-mq-kafka spring-boot 集成 kafka,实现消息的发送和接收
spring-boot-demo-websocket spring-boot 集成 websocket,后端主动推送前端服务器运行信息
spring-boot-demo-websocket-socketio spring-boot 使用 netty-socketio 集成 websocket,实现一个简单的聊天室
spring-boot-demo-ureport2 待完成
spring-boot-demo-uflo 待完成
spring-boot-demo-urule 待完成
spring-boot-demo-activiti 待完成
spring-boot-demo-async spring-boot 使用原生提供的异步任务支持,实现异步执行任务
spring-boot-demo-war spring-boot 打成 war 包的配置
spring-boot-demo-elasticsearch spring-boot 集成 ElasticSearch,集成 spring-boot-starter-data-elasticsearch 完成对 ElasticSearch 的高级使用技巧,包括创建索引、配置映射、删除索引、增删改查基本操作、复杂查询、高级查询、聚合查询等
spring-boot-demo-dubbo spring-boot 集成 Dubbo,分别为公共模块 spring-boot-demo-dubbo-common、服务提供方spring-boot-demo-dubbo-provider、服务调用方spring-boot-demo-dubbo-consumer
spring-boot-demo-mongodb spring-boot 集成 MongoDB,使用官方的 starter 实现增删改查
spring-boot-demo-neo4j spring-boot 集成 Neo4j 图数据库,实现一个校园人物关系网的demo
spring-boot-demo-docker spring-boot 容器化
spring-boot-demo-multi-datasource-jpa spring-boot 使用JPA集成多数据源
spring-boot-demo-multi-datasource-mybatis spring-boot 使用Mybatis集成多数据源,使用 Mybatis-Plus 提供的开源解决方案实现
spring-boot-demo-sharding-jdbc spring-boot 使用 sharding-jdbc 实现分库分表待完成
spring-boot-demo-tio spring-boot 集成 tio 待完成

https://github.com/dyc87112/SpringBoot-Learning

 

Spring Boot 2.0 新特性学习

简介与概览

  • Spring Boot 2.0 正式发布,升还是不升呢?
  • Spring Boot 2.0 新特性和发展方向
  • Spring Boot 2.0 与 Java 9

新特性详解

  • Spring Boot 2.0 新特性(一):配置绑定 2.0 全解析
  • Spring Boot 2.0 新特性(二):新增事件ApplicationStartedEvent

Spring Boot 基础教程(基于1.3.x-1.5.x)

快速入门

  • chapter1:基本项目构建(可作为工程脚手架),引入web模块,完成一个简单的RESTful API
  • 使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程

工程配置

  • chapter2-1-1:配置文件详解:自定义属性、随机数、多环境配置等
  • chapter2-1-2:2.0 新特性(一):配置绑定全解析
  • chapter2-2-1:2.0 新特性(二):新增事件ApplicationStartedEvent

Web开发

  • chapter3-1-1:构建一个较为复杂的RESTful API以及单元测试
  • chapter3-1-2:使用Thymeleaf模板引擎渲染web视图
  • chapter3-1-3:使用Freemarker模板引擎渲染web视图
  • chapter3-1-4:使用Velocity模板引擎渲染web视图
  • chapter3-1-5:使用Swagger2构建RESTful API
  • chapter3-1-6:统一异常处理
  • chapter3-1-7:使用Java 8中LocalDate等时间日期类的问题解决
  • chapter3-1-8:扩展XML请求和响应的支持

数据访问

  • chapter3-2-1:使用JdbcTemplate
  • chapter3-2-2:使用Spring-data-jpa简化数据访问层(推荐)
  • chapter3-2-3:多数据源配置(一):JdbcTemplate
  • chapter3-2-4:多数据源配置(二):Spring-data-jpa
  • chapter3-2-5:使用NoSQL数据库(一):Redis
  • chapter3-2-6:使用NoSQL数据库(二):MongoDB
  • chapter3-2-7:整合MyBatis
  • chapter3-2-8:MyBatis注解配置详解
  • chapter3-2-9:使用Flyway来管理数据库版本
  • chapter3-2-10:使用LDAP来统一管理用户信息
  • chapter3-2-11:Spring Boot中增强对MongoDB的配置(连接池等)

事务管理

  • chapter3-3-1:使用事务管理
  • chapter3-3-2:[分布式事务(未完成)]

其他内容

  • chapter4-1-1:使用@Scheduled创建定时任务
  • chapter4-1-2:使用@Async实现异步调用
  • chapter4-1-3:使用@Async实现异步调用:自定义线程池
  • chapter4-1-4:使用@Async实现异步调用:资源优雅关闭
  • chapter4-1-5:使用@Async实现异步调用:使用Future以及定义超时

日志管理

  • chapter4-2-1:默认日志的配置
  • chapter4-2-2:使用log4j记录日志
  • chapter4-2-3:对log4j进行多环境不同日志级别的控制
  • chapter4-2-4:使用AOP统一处理Web请求日志
  • chapter4-2-5:使用log4j记录日志到MongoDB
  • chapter4-2-6:Spring Boot 1.5.x新特性:动态修改日志级别]

安全管理

  • chapter4-3-1:使用Spring Security
  • chapter4-3-2:[使用Spring Session(未完成)]

缓存支持

  • chapter4-4-1:注解配置与EhCache使用
  • chapter4-4-2:使用Redis做集中式缓存

邮件发送

  • chapter4-5-1:实现邮件发送:简单邮件、附件邮件、嵌入资源的邮件、模板邮件

消息服务

  • chapter5-1-1:[JMS(未完成)]
  • chapter5-2-1:Spring Boot中使用RabbitMQ

其他功能

  • chapter6-1-1:使用Spring StateMachine框架实现状态机
  • Spring Boot Actuator监控端点小结
  • 在传统Spring应用中使用spring-boot-actuator模块提供监控端点
  • Spring Boot应用的后台运行配置
  • Spring Boot自定义Banner

Dubbo进行服务治理

  • chapter9-2-1:Spring Boot中使用Dubbo进行服务治理
  • chapter9-2-2:Spring Boot与Dubbo中管理服务依赖

https://github.com/dyc87112/SpringCloud-Learning

Spring Cloud教程

教程列表

《Spring Cloud构建微服务架构》系列博文

Finchley版

本系列主要补充之前版本新增或是变动的主要内容,基础使用依然可以参考Dalston版教程

  • Spring Cloud Finchley版中Consul多实例注册的问题处理

Spring Cloud Aliabab专题

  • Spring Cloud Alibaba与Spring Boot、Spring Cloud之间不得不说的版本关系

注册中心与配置中心:Nacos

  • Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
  • Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0
  • Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)
  • Spring Cloud Alibaba基础教程:使用Nacos作为配置中心
  • Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解
  • Spring Cloud Alibaba基础教程:Nacos配置的多环境管理
  • Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置
  • Spring Cloud Alibaba基础教程:Nacos的数据持久化
  • Spring Cloud Alibaba基础教程:Nacos的集群部署

Spring Cloud Stream专题补充

  • Spring Cloud Stream如何消费自己生产的消息
  • Spring Cloud Stream同一通道根据消息内容分发不同的消费逻辑
  • Spring Cloud Stream使用延迟消息实现定时任务(RabbitMQ)
  • Spring Cloud Stream消费失败后的处理策略(一):自动重试
  • Spring Cloud Stream消费失败后的处理策略(二):自定义错误处理逻辑
  • Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
  • Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

Edgware版

本系列主要是对Dalston版的补充,包含Edgware版的主要新增或变动的内容,对于Spring Cloud的基础使用依然建议参考Dalston版教程

  • 分布式配置中心(数据库存储)

Dalston版

  • 服务注册与发现(Eureka、Consul)
  • 服务消费者(基础)
  • 服务消费者(Ribbon)
  • 服务消费者(Feign)
  • 服务消费者(Feign)传文件
  • 分布式配置中心
  • 服务容错保护(Hystrix服务降级)
  • 服务容错保护(Hystrix依赖隔离)
  • 服务容错保护(Hystrix断路器)
  • Hystrix监控面板
  • Hystrix监控数据聚合
  • 服务网关(基础)
  • 服务网关(路由配置)
  • 服务网关(过滤器)
  • 服务网关(API文档汇总)
  • 消息驱动的微服务(入门)
  • 消息驱动的微服务(核心概念)
  • 消息驱动的微服务(消费组)
  • 消息驱动的微服务(消费组案例:解决消息重复消费)
  • 消息驱动的微服务(消息分区)
  • 分布式服务跟踪(入门)
  • 分布式服务跟踪(跟踪原理)
  • 分布式服务跟踪(整合logstash)
  • 分布式服务跟踪(整合zipkin)
  • 分布式服务跟踪(收集原理)
  • 分布式服务跟踪(抽样收集)

Brixton版

  • 1-Brixton版教程示例/chapter1-1-1:Spring Cloud构建微服务架构(一)服务注册与发现
  • 1-Brixton版教程示例/chapter1-1-2:Spring Cloud构建微服务架构(二)服务消费者
  • 1-Brixton版教程示例/chapter1-1-3:Spring Cloud构建微服务架构(三)断路器
  • 1-Brixton版教程示例/chapter1-1-4:Spring Cloud构建微服务架构(四)分布式配置中心
  • 1-Brixton版教程示例/chapter1-1-8:Spring Cloud构建微服务架构(四)分布式配置中心(续)
  • 1-Brixton版教程示例/chapter1-1-5:Spring Cloud构建微服务架构(五)服务网关
  • 1-Brixton版教程示例/chapter1-1-6:Spring Cloud构建微服务架构(六)高可用服务注册中心
  • 1-Brixton版教程示例/chapter1-1-7:Spring Cloud构建微服务架构(七)消息总线(Rabbit)
  • 1-Brixton版教程示例/chapter1-1-7:Spring Cloud构建微服务架构(七)消息总线(Kafka)

《Spring Cloud源码分析》系列博文

  • Spring Cloud源码分析(一)Eureka
  • Spring Cloud源码分析(二)Ribbon
  • Spring Cloud源码分析(二)Ribbon
  • Spring Cloud源码分析(四)Zuul:核心过滤器
  • 未完待续

《Spring Cloud实战小贴士》系列博文

  • Spring Cloud实战小贴士:版本依赖关系
  • Spring Cloud实战小贴士:随机端口
  • Spring Cloud实战小贴士:健康检查
  • Spring Cloud实战小贴士:Zuul处理Cookie和重定向
  • Spring Cloud实战小贴士:Zuul统一异常处理(一)
  • Spring Cloud实战小贴士:Zuul统一异常处理(二)
  • Spring Cloud实战小贴士:Zuul统一异常处理(三)【Dalston版】
  • Spring Cloud实战小贴士:Turbine如何聚合设置了context-path的Hystrix数据
  • Spring Cloud实战小贴士:Feign的继承特性(伪RPC模式)
  • Spring Cloud实战小贴士:Ribbon的饥饿加载(eager-load)模式
  • Spring Cloud实战小贴士:Zuul的饥饿加载(eager-load)使用

其他文章

  • 使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程
  • 为Spring Cloud Ribbon配置请求重试(Camden.SR2+)
  • Consul注销实例时候的问题
  • 使用Spring Boot Actuator、Jolokia和Grafana实现准实时监控
  • Netflix Zuul与Nginx的性能对比
  • 基于Consul的分布式锁实现
  • 基于Consul的分布式信号量实现
  • 《Spring Cloud基础教程》:https://github.com/dyc87112/SpringCloud-Learning
  • 泥瓦匠Spring Boot学习案例:https://git.oschina.net/jeff1993/springboot-learning-example
  • 博客:http://blog.didispace.com
  • 深度交流与问答:https://t.xiaomiquan.com/zfEiY3v
  • GitHub:https://github.com/dyc87112/SpringBoot-Learning
  • Gitee:https://gitee.com/didispace/SpringBoot-Learning
  • Spring For All社区:http://spring4all.com/
  • Spring Boot基础教程:http://blog.didispace.com/Spring-Boot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/
  • Spring Cloud基础教程:http://blog.didispace.com/Spring-Cloud%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/

你可能感兴趣的:(spring,cloud)