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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 课程中详细演示了一个应用从单块架构到垂直应用架构再到分布式服务架构的演进过程。讲解了如何在前后端分离的架构下设计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实现持续集成


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
25天前
|
数据管理 API 调度
鸿蒙HarmonyOS应用开发 | 探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力
HarmonyOS Next 是华为新一代操作系统,专注于分布式技术的深度应用与生态融合。本文通过技术特点、应用场景及实战案例,全面解析其核心技术架构与开发流程。重点介绍分布式软总线2.0、数据管理、任务调度等升级特性,并提供基于 ArkTS 的原生开发支持。通过开发跨设备协同音乐播放应用,展示分布式能力的实际应用,涵盖项目配置、主界面设计、分布式服务实现及部署调试步骤。此外,深入分析分布式数据同步原理、任务调度优化及常见问题解决方案,帮助开发者掌握 HarmonyOS Next 的核心技术和实战技巧。
191 76
鸿蒙HarmonyOS应用开发 | 探索 HarmonyOS Next-从开发到实战掌握 HarmonyOS Next 的分布式能力
|
23天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
288 0
|
9天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
30天前
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
53 11
|
30天前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
50 5
|
28天前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
1月前
|
XML Java 数据格式
Spring Boot 开发中的常见失误
本文深入分析了Spring Boot开发中常见的失误,包括不当使用@Component、@ResponseBody、@Autowired注解,以及不良的异常处理和日志记录实践,提供了有效的规避策略,帮助开发者提升代码质量和系统性能。
|
8月前
|
Dubbo Java 应用服务中间件
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
|
3月前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
87 2
|
5月前
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
96 0