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

张振华
前携程网 Java 架构师
  • 课程目录
  • 课程介绍
  • 开篇词 | 勇敢走出舒适区,突破自己的技术瓶颈

  • 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 | 为什么总会遇到 LazyException?如何解决?

  • 25 | 经典的 N+1 SQL 问题如何正确解决?

  • 26 | SpEL 解决了哪些问题?

  • 27 | Hibernate 一级缓存是什么?起什么作用?

  • 28 | 二级缓存的思考:Redis 与 JPA 如何结合?

  • 29 | Spring Data Rest 是什么?和 JPA 是什么关系?

  • 30 | 如何利用单元测试和集成测试让你开发效率翻倍?

  • 31 | Spring Data ElasticSearch 在 Spring Data 中的用法有哪些?

  • 结束语 | 师傅领进门,修行靠个人

背景介绍

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

讲师介绍

张振华 前携程网 Java 架构师

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

课程大纲

课表.png

订阅须知:

1.本专栏共 31 讲,每周一、四更新; 2.支持 视频+音频+图文 3 种阅读形式; 3.购买后在拉勾 App-课程,可永久观看课程; 4.视频课程为虚拟商品,一旦售出不可申请退款; 5.本课程版权归拉勾所有,严禁翻录,违者必究; 6.如有问题请咨询客服同学,召唤客服>>>