学习 Kotlin 语言和使用 Kotlin SpringBoot 构建 Restful API 的完整实践方法。
逐步解决 60 多个计量经济学问题。非常适合刚接触计量经济学的大学生。
讲师:Pragmatic Code School
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你会学到什么
- Kotlin 编程语言及其优势
- 使用 Kotlin 编程语言编写代码
- 使用 Kotlin 构建应用程序
- 使用 SpringBoot 和 Kotlin 构建 RestFul 服务
- 使用 JUnit5 测试 Kotlin
- Kotlin 和 Java 互操作性
- 将 Spring Data JPA 与 Kotlin 集成
- 使用 TestContainers 和 JUnit5 集成测试数据库层
- 使用 Mockk 库进行单元测试函数调用
要求
- 需要 Java 11 或更高版本
- 使用任何 IDE(Intellij、Eclipse)的经验
- 使用 Java 的经验
- 体验使用 SpringBoot 构建应用程序
- Gradle 或 Maven 构建工具经验是必须的
描述
Kotlin 是现代、简洁和安全的编程语言,是当今时代流行的 JVM 语言之一。
它还可以与 Java 和其他语言互操作,并提供多种方法在多个平台之间重用代码以进行高效编程。
本课程将重点介绍使用 Kotlin使用SpringBoot框架进行服务器端开发。这是一门纯动手课程,涵盖以下两个主题:
- 涵盖Java 开发人员必备的Kotlin 基础知识
- 使用SpringBoot和Kotlin构建RestFul API
第 1 部分:课程入门
- 本节涵盖课程目标和充分利用本课程所需的先决条件。
第 2 部分: Kotlin 编程语言入门
- 在本节中,我将向您介绍 Kotlin 编程语言以及为什么它是一种强大的企业开发语言。
- 科特林简介
- Kotlin 如何与 JVM 一起工作?
第 3 部分:Kotlin 基础知识
- 在本节中,我们将探讨 Kotlin 的基础知识。
- Kotlin 中的 val 和 var 变量
- 基本类型 – Int、Long、Double、String
- 条件 – If 和 when 块
- 范围,循环
- while 和 do-While
- 打破,标签和返回
第 4 节:Kotlin 中的函数
- 在本节中,我们将了解 Kotlin 中的函数以及声明和使用它们的不同方式
- 定义和调用函数
- 默认值参数和命名参数
- 顶级函数和顶级属性
第 5 节:类、接口和继承
- 在本节中,我们将详细了解类、继承和接口。
- 类简介——创建类和对象
- 一级建造师
- 二级构造函数
- 使用 init 块的初始化代码
- 数据类
- 自定义 getter 和 setter
- 继承 – 扩展类
- 继承 – 覆盖函数、变量
- 用于创建类实例的 object 关键字
- 伴随对象关键字
- 接口
- 接口 – 处理冲突函数
- 接口 – 定义和覆盖变量
- 可见性修饰符
- 类型检查、转换和智能转换
- 枚举类
第 6 节:Kotlin 中的空值
- 在本节中,我们将学习如何在 Kotlin 中处理空值
- Kotlin 中的可空和不可空类型
- Safe Call(?) , Elvis Operator(?:) & Non Null Assertion(!!) 来处理空值
- 调用可空类型或将可空类型分配给不可空类型
第 7 节:集合、数组和 Lamda 表达式
- 在本节中,我将向您介绍 Kotlin 中的集合、数组和 lambda 表达式
- 集合简介
- Lamda 表达式简介
- Lambda 和高阶函数
- Kotlin 集合的过滤操作
- Kotlin 集合上的地图操作
- 集合中的 FlatMap 操作
- 使用 HashMap
- 使用序列对集合进行惰性求值
- 集合中的可空性
第 8 节:Kotlin 中的异常
- 在本节中,我将介绍 kotlin 中的异常以及处理它们的技术。
- 使用 try-catch 处理异常
第 9 节:作用域函数
- 在本节中,我将向大家介绍 Kotlin 中的作用域函数及其用法。
- 作用域函数简介
- 适用范围功能
- 让作用域函数
- 使用 & 运行作用域函数
第 10 节:Kotlin 和 Spring Boot 入门
- 在本节中,我将解释我们将要构建的应用程序的概述并构建一个非常简单的 API。
- 应用程序和项目设置概述
- 构建一个简单的端点 – 问候控制器
- Spring 中的构造函数注入
- 在 Spring Boot 中设置不同的配置文件
- 在 Kotlin 中设置日志记录
第 11 节:使用 Junit 5 进行集成/单元测试
- 在本节中,我将编写代码并解释使用 spring boot 和 Kotlin 编写不同类型测试用例的技术。
- 自动化测试简介和设置 JUnit5
- 控制器集成测试
- 控制器的单元测试 – 使用 Mockk 模拟库
第 12 节:构建课程目录服务
- 在本节中,我们将构建课程目录服务来管理课程
- 设置课程实体和 CourseDTO
- 在 application.yml 文件中创建 CourseRepository & 配置 JPA
- 构建用于添加新课程 I 的 POST 端点
- 使用 JUnit5 对 POST 端点进行集成测试
- 构建获取端点以检索所有课程
- GET 端点的集成测试以检索所有课程
- 构建更新端点以更新课程
- 使用 JUnit5 对 PUT 端点进行集成测试
- 构建 DELETE 端点以删除课程
第 13 节:单元测试控制器层(Web 层)
- 在本节中,我们将编写代码并学习如何为控制器编写单元测试
- 为 CourseController 设置单元测试
- CourseController 中 Post 端点的单元测试
- CourseController 中 GET 端点的单元测试
- CourseController 中 PUT 端点的单元测试
- CourseController 中 DELETE 端点的单元测试
第 14 节:使用 Validators 和 ControllerAdvice 进行 Bean 验证
- 在本节中,我们将编写代码并学习使用 ControllerAdvice 模式应用 bean 验证和处理异常的不同技术
- 使用@NotBlank 注释将名称和类别作为必填项
- 使用 ControllerAdvice 模式实现自定义错误处理
- 使用 ControllerAdvice 模式处理全局 RuntimeException
第 15 节:使用 Spring Data JPA 的自定义 JPA 查询和使用 @DataJpaTest 的 DB 层测试
- 在本讲座中,我们将学习编写自定义 JPA 查询的技术以及使用 DataJpaTest 测试 DB 层的技术
- 使用 JPA 查询创建功能按名称检索课程
- 使用本机 SQL 查询按名称检索课程
- 使用@Parameterized 测试测试多组数据
第 16 节:使用 @RequestParam 按名称检索课程的 GET 端点
- 在本节中,我们将编写代码并了解 RequestParam 在控制器端点中的用法。
- 使用现有的 GET 端点按名称检索课程
- 编写集成测试以按名称检索课程
第 17 节:使用 Spring Data JPA 的实体关系
- 在本节中,我将解释使用 Kotlin 中的实体和数据类在 JPA 中表达关系的技术
- 将讲师实体添加到课程目录服务
- 在实体类中添加关系
- 管理教师数据的教师控制器
- 更新 CourseService 以验证教师数据
- 修复 CourseController 集成测试
- 修复 CourseController 单元测试
第 18 节:与 Postgres DB 集成
- 在本节中,我们将编写代码并学习将 postgres 数据库集成到课程目录服务中。
- 设置 Postgres 数据库和应用程序以与 Postgres 交互
- 使用 Postgres DB 测试应用程序
第 19 节:使用 TestContainer 进行集成测试
- 在本节中,我们将编写代码并学习集成测试容器以运行集成测试。
- 为集成测试设置 TestContainer
- 使用 TestContainers 配置 @DataJpaTest
第 20 节:Java 和 Kotlin 互操作性
- 在本节中,我们将编写代码并了解 Java 和 Kotlin 之间的互操作性。
- 从 Java 类调用 Kotlin 代码
- 从 Kotlin 调用 Java 代码
- Kotlin 中有用的 JVM 注释
在本课程结束时,您将能够使用Koltin 编程语言编写代码并使用 SpringBoot 和 Kotlin 构建 RestFuL API。
本课程适合谁:
- 有兴趣学习 Kotlin 编程语言的开发者
- 对使用 Kotlin 和 SpringBoot 构建应用程序感兴趣的开发人员
- 想学习 Kotlin 编程语言的 Java 开发人员