专栏首页一个会写诗的程序员的博客Kotlin 企业级应用开发教程(Spring 5 + Spring Boot 2.0 + MyBatis)

Kotlin 企业级应用开发教程(Spring 5 + Spring Boot 2.0 + MyBatis)

Kotlin 企业级应用开发教程

—— Spring 5 + Spring Boot 2.0 + MyBatis

内容简介

Kotlin编程语言是一种现代语言,它简洁,安全,实用,同时专注于与Java代码的互操作性。它几乎可以在使用Java的所有地方使用:服务器端开发,Android应用程序等等。Kotlin与所有现有的Java框架100%兼容,并且具有良好的工具支持。它是一种实用的语言,具有非常低的学习曲线,可以被Java开发人员快速掌握。Kotlin代码不仅可以编译为JVM字节码,还可以编译为JavaScript和Native代码,本书主要针对 Kotlin / JVM。

Spring框架是为了降低解决企业系统开发的复杂度而产生的,在 Java 企业级应用开发中,Spring 是必备技能之一。 Spring Boot 是 Spring 团队自己出品的,用来解决 Spring 应用程序和服务中的复杂配置的问题的,还提供大型项目通用的一系列非功能性功能(例如,嵌入式服务器,安全性,指标,运行状况检查,外部化配置等)。零代码生成,零XML配置。

第一部分,将与您分享Kotlin的力量和美丽。我们将讨论:Kotlin 特性之旅,可空类型与类型安全,使用Kotlin进行函数编程,使用Kotlin进行面向对象编程,Kotlin标准库的强大功能以及与Java互操作性。

第二部分, 将从企业应用开发的角度出发,深入浅出讲解如何使用Kotlin 编程语言集成 Spring 5 和 Spring Boot 2.0 进行企业应用的开发。

第三部分,综合案例实战。详细讲解项目综合案例:博客后台管理系统。

目录

第一部分 Kotlin 入门到进阶

第 1 章 Kotlin 特性之旅

1.1 Kotlin 前世今生

1.2 Kotlin 体验之旅

1.3 Kotlin 特性

1.3.1 多平台: 服务端、Android端以及 Java 运行的所有地方

1.3.2 类型系统与智能推断

1.3.3 函数式编程和面向对象编程

1.4 一键转换Java 到 Kotlin

1.5 小结

第 2 章 可空类型与类型安全

2.1 可空性

2.1.1 可空类型

2.1.2 安全调用符

2.1.3 Elvis 运算符

2.1.4 非空断言符

2.2 安全类型转换

2.3 类型系统架构

2.4 小结

第 3 章 使用Kotlin进行函数式编程

3.1 Lambda 表达式

3.2 带接收者的 lambda :“with”与“apply”

3.2.1 “with”函数

3.2.2 “apply”函数

3.3 高阶函数

3.3.1 声明高阶函数

3.3.2 函数类型

3.4 内联函数 :消除 lambda 带来的运行时开销

3.5 小结

第 4 章 使用Kotlin进行面向对象编程

4.1 类和接口

4.2 类的继承

4.3 open、final 和 abstract 修饰符

4.4 内部类和嵌套类

4.5 构造函数

4.6 小结

第 5 章 Kotlin 标准库介绍

5.1 集合类与数组

5.1.1 List

5.1.2 Set

5.1.3 Map

5.2 常用集合类操作函数

5.2.1 filter

5.2.2 map

5.2.3 groupBy 与 associateBy

5.2.4 find

5.3 小结

第 6 章 Kotlin 与Java 互操作

6.1 属性的读写

6.1.1 Getter和Setter

6.2 空安全类型

6.2.1 Kotlin空安全类型问题

6.3 包级函数:静态方法

6.4 扩展方法:带Receiver的静态方法

6.5 NoArg和AllOpen插件

6.6 泛型调用

6.7 小结

第二部分 Spring 基础与实战

第 7 章 Spring 框架概述

7.1 Spring是什么

7.2 控制反转和依赖注入

7.3 Spring Bean 的生命周期

7.4 XML 配置与注解配置

第 8 章 快速开始 Kotlin 集成 Spring Boot 开发

8.1 快速开始 Hello World

8.1.1 创建项目和配置依赖

8.1.2 新增数据对象

8.1.3 添加 Controller 类

8.1.4 创建Application类

8.1.5 运行测试

8.2 Kotlin 和 Spring Boot 构建插件

8.2.1 kotlin-gradle-plugin插件

8.2.2 kotlin-allopen 插件

8.2.3 spring-boot-gradle-plugin插件

8.3 小结

第 9 章 使用 MyBatis 访问数据库

9.1 MyBatis简介

9.1.1 ORM和MyBatis

9.1.2 MyBatis配置

9.2 select、insert、update和delete操作

9.3 动态SQL

9.3.1 if

9.3.2 choose(when、otherwise)

9.3.3 where

9.3.4 set

9.3.5 foreach

9.3.6 bind

9.4 事务管理和缓存机制

9.5 基于注解的配置

9.6 项目实例讲解

9.6.1 创建项目

9.6.2 使用 MyBatis Generator 生成 DAO 层代码

9.6.3 多表关联查询

9.6.4 使用 PageHelper分页查询

9.7 小结

第三部分 综合案例实战

第 10章 实战项目:博客后台管理系统

10.1 项目简介及系统结构

10.1.1 系统功能介绍

10.1.2 技术栈介绍

10.1.3 系统结构

10.1.4 功能模块

10.2 数据库表模型和持久化类

10.2.1 设计数据库表

10.2.2 创建持久化实体类

10.3 实现DAO持久层

10.4 实现Service持久层

10.5 实现Web层

10.6 用户管理

10.7 权限管理

10.8 内容管理

10.9 小结


Kotlin 开发者社区

国内第一Kotlin 开发者社区公众号,主要分享、交流 Kotlin 编程语言、Spring Boot、Android、React.js/Node.js、函数式编程、编程思想等相关主题。

Kotlin 开发者社区

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 《Kotin 编程思想·实战》

    1.2 程序执行的三种方式 1.2.1 编译执行 1.2.2 解释执行 1.2.3 虚拟机执行

    一个会写诗的程序员
  • 《 Kotlin极简教程 》正式预售: 欢迎阅读,大家多多指教!!! "Kotlin Minimalist Tutorial" official pre-sale: Welcome to read,

    本书由阿里Java程序员撰写,带你快速进入Kotlin世界。本书基于Kotlin 1.1版本,从Kotlin基础知识到动手实战,包含了大量精选示例代码和应用案例...

    一个会写诗的程序员
  • Kotlin 视频课程系列一:《零基础学习 Kotlin 编程》

    在你决定要打开这个页面阅读的瞬间,风云巨变互联网行业里拼搏的你, 已经得到了一个引领时代 , 改变命运,突破瓶颈的机会。

    一个会写诗的程序员
  • 认识 Kotlin 语言

    使用一行代码创建一个包含 getters、 setters、 equals()、 hashCode()、 toString() 以及 copy() 的 POJO...

    码脑
  • KotlinConf 2019 观影指南 – 前端与 Web 开发篇

    互联网时代,众多应用都是由前端及 Web 实现。Kotlin 是个目标面向多平台的语言,这其中当然包括以 JavaScript 为核心的前端和服务器端的后端应用...

    bennyhuo
  • Kotlin---使用AndroidStudio配置Kotlin环境

    使用Android Studio 3.0,并且在Android Studio中创建或者导入一个Project

    None_Ling
  • 闲聊 Kotlin-Native (0) - 我们为什么应该关注一下 Kotlin Native?

    Kotlin-Native 的定位略显尴尬,为什么这么说呢?因为现在的编程语言实在太多了,新语言出来必然要解决现有某个语言的痛点,这样才能快速切入该语言所覆盖的...

    bennyhuo
  • Kotlin 新版来了,支持跨平台!

    KAPT 已经支持注解处理器增量编译,该特性仍处灰度实验阶段,你可以通过在gradle.properties中添加以下配置来启用它: kapt.incremen...

    Android技术干货分享
  • 不服来战,看Kotlin如何完爆Java

    前言:Kotlin因支持谷歌和简化Android开发而声名鹊起。看看它如何解决Java的许多痛点。 Why Kotlin? 如果我今天被问到如何区别开发Andr...

    CSDN技术头条
  • opencv 视觉项目学习笔记(二): 基于 svm 和 knn 车牌识别

        训练数据: 所有训练数据存储再一个 N x M 的矩阵中, 其中 N 为样本数, M 为特征数(每个样本是该训练矩阵中的一行)。这些数据  所有数据存在...

    用户2434869

扫码关注云+社区

领取腾讯云代金券