Spring Data JPA 原理与实战,玩转 Spring 框架,进阶 Java 高级开发

Spring Data JPA 原理与实战,玩转 Spring 框架,进阶 Java 高级开发

背景介绍

随着 Java 技术和微服务技术逐渐被广泛应用,Spring Cloud 、Spring Boot 逐渐统一 Java 的框架江湖,市场上的 ORM 框架也逐渐被人重视起来。

众多 ORM 框架中,Spring Data JPA 凭借有机的整体,以及使用方便的特性越来越受到大众欢迎,它简化了开发流程,使开发者可以完全沉浸在 Spring 的完整生态标准的实现中。

大量开发者享受到了这门技术带来的便利与功用,目前一线大厂也开始流行使用 Spring Data JPA 框架。

你会学到什么?

课程将带领你从基础认知一路进阶,打通技术晋升及效率升级通道,让开发更高效。课程主要分为四个模块,共31篇。

模块一:基础知识 主要从基本语法的视角,来详细介绍 Spring Data JPA 的语法糖有哪些,包括源码的剖析、实际工作中的经验分享,以及作者对此的思考、启发。从快速入门的案例,到 Repository 的基本语法,到 Defining Query Methods 语法,到 @Query 的语法,再到实体的注解大全,以及实体配置中会发生的问题依次讲解。学完本模块你可以掌握 JPA 的基本用法。

模块二:高级用法与实战 从实际工作中的复杂应用场景开始,依次讲解自定义场景,如何扩展 Spring 给我们提供的框架、数据源、连接、事务之间的关系。学完本模块你可以解决实践中可能会遇到的复杂应用场景问题,并学会独立思考、稳妥解决。

模块三:原理与问题排查 掌握了复制使用场景和基本语法后,再来了解其背后的原理,如 Entity 如何判断 Dirty,Entity 什么时机提交到数据看等,并知道掌握到什么程度才算精通。学完本模块你可以解决实际工作遇到的经典问题,如 N+1 sql、lazy、事务的问题,并获得老师对此的多年经验思考和解决思路。

模块四:思路扩展篇 从 Spring Data Rest、Spring Data ES、测试用例的角度,扩展思路,了解一下发展方向,让你的代码质量更有保障,届时不是天天忙着救火,而是想着如何排除失火的隐患。学完本模块你可以更好地掌握学习思路,学会举一反三,会大大提高你的开发效率。

课程目录

模块一:基础知识
01 | Spring Data JPA 初识
02 | Spring Data Common 之 Repository 如何全面掌握?
03 | Defining Query Methods 的命名语法与参数
04 | 如何利用 Repository 中的方法返回值解决实际问题?
05 | @Query 解决了什么问题?什么时候应该选择它?
06 | @Entity 里面的 JPA 注解有哪些?在 Java 多态场景下如何使用?
07 | @Etity 之间的关联关系注解如何正确使用?
08 | Jackson 注解在实体里面如何应用?常见的死循环问题如何解决?
模块二:高级用法与实战
09 | JpaSpecificationExecutor 解决了哪些问题?
10 | JpaSpecificationExecutor 实现的原理是什么?
11 | JpaRepository 如何自定义?
12 | JPA 的审计功能解决了哪些问题?
13 | 如何正确使用 @Entity 里面的回调方法?
14 | 乐观锁机制和重试机制在实战中应该怎么用?
15 | JPA 对 Web MVC 开发者做了哪些支持?
16 | 如何自定义 HandlerMethodArgumentResolvers?
17 | DataSource 为何物?加载过程是怎样的?
18 | 生产环境多数据源的处理方法有哪些?
19 | 如何搞清楚事务、连接池的关系?正确配置是怎样的?
模块三:原理与问题排查
20 | Spring JPA 中的 Hibernate 加载过程与配置项是怎么回事?
21 | Persistence Context 所表达的核心概念是什么?
22 | Session 的 open-in-view 对事务的影响是什么?
23 | 如何在 CompletableFuture 异步线程中正确使用 JPA?
24 | 为什么总会遇到 Lazy Exception?如何解决?
25 | 经典的 N+1 SQL 问题如何正确解决?(上)
26 | 经典的 N+1 SQL 问题如何正确解决?(下)
27 | SpEL 解决了哪些问题?
28 | Hibernate 一级缓存是什么?起什么作用?
29 | 二级缓存的思考:Redis 与 JPA 如何结合?
模块四:思路扩展篇
30 | Spring Data Rest 是什么?和 JPA 是什么关系?
31 | 如何利用单元测试和集成测试让你开发效率翻倍?
32 | Spring Data ElasticSearch 在 Spring Data 中的用法有哪些?
结束语
结束语 | 师傅领进门,修行靠个人

讲师介绍

张振华,前携程网 Java 架构师

他从事 Java 行业十余年,曾先后在驴妈妈、携程、要买车等多家公司担任 Java 架构师、开发主管等职务,有丰富的电商互联网工作经验。期间,他负责过 PC 站和后端服务的平台架构,实现过微服务的升级等工作,同时在公司写过很多核心框架,平时对 Spring 整个全家桶特别钟爱,积累了丰富的实战经验。

发表评论

登录后才能评论