基于 Spring + Dubbo 开发分布式REST服务实战

简介: 课程中详细演示了一个应用从单块架构到垂直应用架构再到分布式服务架构的演进过程。讲解了如何在前后端分离的架构下设计RESTful API。最终的系统对外提供REST风格的http服务,内部各个垂直应用通过dubbo共享无状态的Java服务。整个系统在Web层和服务层都可以无缝的横向扩展。

本课程主要是使用 Spring技术栈 + dubbo 开发一个类似当当的图书电商后台的实战教程。

课程特点:

1.课程的技术体系足够系统、全面以及细致:课程中涉及的主要技术包括:
Spring IO (依赖版本管理),
Spring Boot(自动化配置,零XML),
Spring MVC (RESTful API开发) ,
Spring Security, Spring Security Oauth(RESTful API安全),
Spring Framework(基础框架,服务层开发),
Spring Data JPA(数据持久层开发,零SQL),
Dubbo(服务治理).
所有的技术全部使用现在的最新版本。

2.全程案例实战驱动讲解和动手演练,每个知识点都会通过实际的代码样例来演示其原理和特性,以模拟真实的案例来驱动讲解各种技术点,帮助同学们在业务背景中理解和掌握复杂的技术。

3.测试驱动开发,整个课程全部采用测试驱动开发的方式,先编写自动化测试用例,然后编写业务代码,在掌握开发技术的基础上,还可以学习到如何针对持久层、业务层和WEB服务层进行单元测试。

4.课程包含很多全网独家的、深入细致的技术讲解以及解密。例如:Spring Data Jpa映射策略,继承策略,抓取策略的控制。让你全面掌握这个强大的ORM框架的每个细节。Spring MVC开发RESTful API时各种映射的处理,异常的处理,异步请求的处理,服务的伪造和文档的自动生成等。Spring Security的详细说明,各种实际的认证和授权需求的处理方法,如何扩展框架的功能,如何与第三方登录或单点登录集成等等。Spring Boot与Dubbo的整合,处理服务的日志、事务、消息、定时任务,多线程等问题。

5.课程中详细演示了一个应用从单块架构到垂直应用架构再到分布式服务架构的演进过程。讲解了如何在前后端分离的架构下设计RESTful API。最终的系统对外提供REST风格的http服务,内部各个垂直应用通过dubbo共享无状态的Java服务。整个系统在Web层和服务层都可以无缝的横向扩展。

课程学完以后能够达到的效果:

1.可以独立搭建分布式RESTful API开发框架
2.可以使用Spring Boot和Spring IO简化Spring项目的配置,提高开发速度。
3.可以使用Spring Data JPA操作关系型数据库,完全面向对象,零SQL的快速开发数据库持久层服务,掌握如何控制自动生成的SQL,确保整个数据库持久层的性能。
4.可以使用Spring MVC快速开发RESTful的API,并处理WEB层常见的问题。掌握异常的处理,文件上传下载,服务的伪造和文档的自动生成,使用异步方式处理Http请求以提高中间件吞吐量等技术。
5.可以使用Spring Security保护RESTful API的安全,通过JavaConfig的方式快速实现各种常见的认证授权需求。掌握‘记住我’,Session管理,第三方(QQ,微信,微博等)登录,单点登录等常见需求的实现方式。
6.理解分布式服务架构,使用Dubbo搭建分布式服务框架,并与Spring Boot和Spring framework结合,处理服务的日志、事务、消息、缓存、定时任务,多线程等问题。

课程主要章节如下:

01.课程介绍,架构说明,案例说明,前置知识
02.环境设置(JDK8, STS, Maven, Spring IO, Spring Boot)
03.Spring Data JPA简介
04.对象映射-基本属性映射
05.对象映射-全局命名策略
06.对象映射-双向一对多关系映射
07.对象映射-多对多和一对一关系映射
08.对象映射-继承关系映射
09.Repository-基本增删改查
10.Repository-分页和排序
11.Repository-静态查询
12.Repository-动态查询
13.Repository-自定义Repository实现
14.高级话题-持久化上下文
15.高级话题-抓取策略
16.高级话题-继承策略1
17.高级话题-继承策略2
18.高级话题-乐观锁
19.高级话题-Hibernate Validator
20.数据库开发小结
21.RestAPI开发-概述
22.RestAPI开发-查询图书请求处理
23.RestAPI开发-参数映射,分页和排序
24.RestAPI开发-正则表达式和JsonView
25.RestAPI开发-新建图书请求处理
26.RestAPI开发-修改和删除,Cookie和Header
27.RestAPI开发-异常和静态资源处理
28.RestAPI开发-拦截器和过滤器
29.RestAPI开发-文件上传下载处理
30.RestAPI开发-异步处理Http请求
31.RestAPI开发-使用Swagger生成文档
32.RestAPI开发-使用WireMock伪造服务
33.RestAPI安全-Spring Security概述和基本配置
34.RestAPI安全-Spring Security内置过滤器链介绍
35.RestAPI安全-实现Http Basic认证
36.RestAPI安全-实现表单认证
37.RestAPI安全-实现'记住我'功能
38.RestAPI安全-在Spring Security中管理Session
39.RestAPI安全-了解授权决策
40.RestAPI安全-使用配置控制URL权限
41.RestAPI安全-使用注解控制方法权限
42.RestAPI安全-自定义授权策略
43.RestAPI安全-常见攻击方式及防护
44.RestAPI安全-OAuth协议介绍
45.RestAPI安全-使用Spring Security OAuth实现第三方登录
46.RestAPI安全-整合CAS实现SSO
47.分布式服务开发-服务层架构概述
48.分布式服务开发-重构代码结构,引入dubbo
49.分布式服务开发-实现增删改查服务1
50.分布式服务开发-实现增删改查服务2
51.分布式服务开发-使用logback记录日志
52.分布式服务开发-使用AOP创建全局日志切片
53.分布式服务开发-事务控制
54.分布式服务开发-缓存处理
55.分布式服务开发-定时任务处理
56.分布式服务开发-配置信息处理
57.分布式服务开发-使用多线程开发提升系统吞吐量1
58.分布式服务开发-使用多线程开发提升系统吞吐量2
59.持续集成概述
60.使用jenkins实现持续集成


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
9月前
|
负载均衡 监控 Java
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
本文详细介绍了 Spring Cloud Gateway 的核心功能与实践配置。首先讲解了网关模块的创建流程,包括依赖引入(gateway、nacos 服务发现、负载均衡)、端口与服务发现配置,以及路由规则的设置(需注意路径前缀重复与优先级 order)。接着深入解析路由断言,涵盖 After、Before、Path 等 12 种内置断言的参数、作用及配置示例,并说明了自定义断言的实现方法。随后重点阐述过滤器机制,区分路由过滤器(如 AddRequestHeader、RewritePath、RequestRateLimiter 等)与全局过滤器的作用范围与配置方式,提
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
|
8月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
1308 2
Spring Boot 3.x 微服务架构实战指南
|
8月前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
10月前
|
人工智能 监控 安全
如何快速上手【Spring AOP】?核心应用实战(上篇)
哈喽大家好吖~欢迎来到Spring AOP系列教程的上篇 - 应用篇。在本篇,我们将专注于Spring AOP的实际应用,通过具体的代码示例和场景分析,帮助大家掌握AOP的使用方法和技巧。而在后续的下篇中,我们将深入探讨Spring AOP的实现原理和底层机制。 AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架中的核心特性之一,它能够帮助我们解决横切关注点(如日志记录、性能统计、安全控制、事务管理等)的问题,提高代码的模块化程度和复用性。
|
10月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
678 2
|
10月前
|
存储 缓存 NoSQL
【📕分布式锁通关指南 12】源码剖析redisson如何利用Redis数据结构实现Semaphore和CountDownLatch
本文解析 Redisson 如何通过 Redis 实现分布式信号量(RSemaphore)与倒数闩(RCountDownLatch),利用 Lua 脚本与原子操作保障分布式环境下的同步控制,帮助开发者更好地理解其原理与应用。
775 6
|
11月前
|
存储 缓存 NoSQL
Redis核心数据结构与分布式锁实现详解
Redis 是高性能键值数据库,支持多种数据结构,如字符串、列表、集合、哈希、有序集合等,广泛用于缓存、消息队列和实时数据处理。本文详解其核心数据结构及分布式锁实现,帮助开发者提升系统性能与并发控制能力。
|
数据采集 存储 数据可视化
分布式爬虫框架Scrapy-Redis实战指南
本文介绍如何使用Scrapy-Redis构建分布式爬虫系统,采集携程平台上热门城市的酒店价格与评价信息。通过代理IP、Cookie和User-Agent设置规避反爬策略,实现高效数据抓取。结合价格动态趋势分析,助力酒店业优化市场策略、提升服务质量。技术架构涵盖Scrapy-Redis核心调度、代理中间件及数据解析存储,提供完整的技术路线图与代码示例。
1804 0
分布式爬虫框架Scrapy-Redis实战指南
|
9月前
|
NoSQL Java 调度
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
分布式锁是分布式系统中用于同步多节点访问共享资源的机制,防止并发操作带来的冲突。本文介绍了基于Spring Boot和Redis实现分布式锁的技术方案,涵盖锁的获取与释放、Redis配置、服务调度及多实例运行等内容,通过Docker Compose搭建环境,验证了锁的有效性与互斥特性。
785 0
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)

热门文章

最新文章