基于Kotlin的Spring Boot微服務實戰 ( 簡體 字) |
作者:袁康 | 類別:1. -> 程式設計 -> 手機程式 -> Kotlin 2. -> 程式設計 -> JAVA -> Spring |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 53653 詢問書籍請說出此書號!【有庫存】 NT售價: 495 元 |
出版日:11/1/2020 |
頁數:384 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121397158 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:推薦序
編程語言始終是程序員群體中最容易引起爭論的話題。但要說起近年來最受程序員歡迎的語言,Kotlin一定可以占據一席之地。在TOIBE和RedMonk編程語言排名中,Kotlin已經躋身JVM語言前列,和老牌的Scala和Groovy形成三足鼎立之勢。在權威的ThoughtWorks技術雷達中,Kotlin從2017年3月首次入選,到2018年5月變成推薦在實際生產環境中采納,只用了一年多的時間。Kotlin語言究竟有什么魔力能夠迅速獲得廣大程序員的青睞呢?
首先,Kotlin語言具備優秀、簡潔的特性。它從一開始就保留了Java語言的靜態類型,加入了諸如空安全、擴展函數、數據類、Lambda表達式等現代編程語言的功能。隨著Kotlin版本的不斷升級,跨平臺原生、協程等優秀的語言特性不斷地擴展著該語言的功能和適用場景。而且,Kotlin語言因其與JVM語言的良好互操作性和簡潔的語法,可以在采用Java語言的依賴項目上快速地被無縫引入,大大降低了新編程語言的學習成本。
其次,Kotlin的發展離不開大廠的鼎力支持和成功案例的支撐。在2017年的Google I/O大會上,Kotlin成為Android開發的首選語言。而經過兩年的發展,Google提供的Android Jetpack擴展都針對Kotlin語言進行了改寫和升級,編譯工具Gradle也增加了對Kotlin編寫腳本的支持。服務端開發的主流框架Spring幾乎在第一時間就支持了Kotlin語言,且在不斷地豐富Spring的Kotlin擴展。Kotlin語言已經在移動端、前端、服務端、科學計算等領域得到了廣泛應用。
最后,開發者有口皆碑的語言一定會在開發者社區中引起共鳴。JetBrains作為Kotlin語言的締造者,在語言特性的引入上始終都非常尊重開發者社區的反饋,在API的設計上也十分慎重。國內的Kotlin社區幾乎和Kotlin語言同時誕生,相關的文檔、資料也是第一時間就能得到翻譯和推廣。更難能可貴的是,國內很多Kotlin開發者將自己的經驗進行總結并分享出來。本書就是一本國內開發者在探索Kotlin實踐中的的優秀總結。
不同于市面上專注于語言特性或者Android開發的Kotlin圖書,本書將Kotlin語言在服務端中的應用作為重點。基于Java語言的Spring框架是服務端開發領域的主流選擇,而且國內開發者也在Spring框架的基礎上增加了Dubbo這樣的創新。本書作者將Kotlin和Spring結合的實戰經驗對廣大國內服務端開發者來說是不可多得的參考資料。初次接觸Kotlin語言的讀者也不必擔心,本書還包括了對Kotlin語言的基本特性和開發工具的介紹,可以幫助讀者快速進入狀態。
感謝作者為國內廣大開發者帶來了一本新鮮的Kotlin實戰手冊!希望讀者能夠感受到Kotlin語言的獨特魅力!
《Kotlin實戰》譯者,Thoughtworks資深咨詢師
覃宇
序言
近年來,Java增加了函數式編程的特性,如類型推斷、Lambda表達式、Stream流等,后端開發逐漸采用了一些函數式編程語言,如Scala、Kotlin。函數式編程以其簡捷性、不變性、空指針處理友好等特點深受后端開發人員的青睞。
筆者之前使用Scala做過后端開發,感慨Scala的門檻較高,入門困難,而且生態資源相對匱乏,開發過程比較痛苦。后來,使用Java進行后端開發,依托Spring Boot強大的生態,可以方便地使用消息隊列、數據庫、緩存、大數據相關中間件。但是Java比較笨重,冗余的代碼、空指針異常、線程安全等問題常常困擾著筆者。隨著Kotlin在移動端開發的普及,它也逐步走入后端開發者的視野。Kotlin是JVM體系的語言,和Java有著良好的互操作性,上手較容易,且可以使用Java強大的生態,其還具有函數式編程的優點。另外,Spring Initializr提供了對Java、Kotlin語言的支持。
Kotlin是JetBrains公司開發的,目前流行的IntelliJ IDEA軟件也是該公司開發的。IDEA對Kotlin支持較好,可以將Java代碼轉換為Kotlin代碼。IDEA還支持Java、Kotlin混合編程,歷史代碼使用Java編寫,新的代碼可以嘗試使用Kotlin編寫。
基于以上考慮,筆者開始研究使用Kotlin、Spring Boot做后端開發,取得了不錯的效果。市面上介紹使用Kotlin進行后端開發的圖書比較少,筆者在大量實踐的基礎上,萌生了寫一本書的想法,希望和更多的Java開發人員分享Kotlin在后端開發中的實踐經驗。
本書共10章,第1章介紹如何搭建Kotlin的開發環境,第2章介紹函數式編程,第3章簡單介紹Kotlin的語法,第4章介紹Kotlin在常用中間件中的應用,第5章介紹Kotlin如何應用于微服務注冊中心,第6章介紹Kotlin如何應用于微服務配置中心,第7章介紹Kotlin如何應用于微服務網關,第8章介紹Kotlin如何應用于Spring Cloud Alibaba,第9章介紹Kotlin集成服務監控和服務鏈路監控的相關知識,第10章介紹如何用Kotlin編寫博客應用。本書提供了大量的實例,相關源碼可以從GitHub下載運行。
袁康
2020年5月26日于上海 |
內容簡介:本書介紹了Kotlin在Spring Boot微服務開發中的實踐,并使用Kotlin作為開發語言,介紹了函數式編程思想、Kotlin的語法、Kotlin在常用中間件中的應用,以及其在微服務注冊中心、微服務配置中心、微服務網關、Spring Cloud Alibaba、服務監控和服務鏈路監控方面的應用。本書給出了詳細的實例代碼和一個完整的博客示例,可以幫助讀者使用Kotlin開發基于Spring Boot微服務的程序。閱讀本書需要具有一定的編程基礎,但入門門檻不高。因此,本書適合大學生、工程師等對使用Kotlin開發服務端程序感興趣的讀者閱讀。 |
目錄:第1章 搭建Kotlin開發環境 1
1.1 Kotlin簡介 1
1.2 在Windows環境中搭建Kotlin開發環境 5
1.3 在Ubuntu環境中搭建Kotlin開發環境 9
1.4 在macOS環境中搭建Kotlin開發環境 12
1.5 第一個Kotlin程序 13
1.6 小結 14
第2章 函數式編程介紹 15
2.1 初識函數式編程 15
2.2 函數式編程的特點 17
2.3 Scala、Kotlin、Java的對比 20
2.4 小結 21
第3章 Kotlin的語法 22
3.1 基礎語法 22
3.1.1 基本數據類型 22
3.1.2 包名和引用 27
3.1.3 流程控制 28
3.1.4 返回和跳轉 29
3.2 類 30
3.2.1 類、屬性、接口 30
3.2.2 特殊類 34
3.2.3 泛型 36
3.2.4 委托 38
3.3 函數和Lambda表達式 40
3.3.1 函數 40
3.3.2 Lambda表達式 42
3.4 集合 44
3.4.1 集合概述 44
3.4.2 集合操作 51
3.4.3 List、Set、Map相關操作 58
3.5 協程 60
3.5.1 協程基礎 60
3.5.2 協程進階 64
3.6 小結 67
第4章 Kotlin在常用中間件中的應用 68
4.1 Kotlin集成Spring Boot 68
4.1.1 Spring Boot介紹 68
4.1.2 用Kotlin開發一個Spring Boot項目 69
4.2 Kotlin集成Redis 73
4.2.1 Redis介紹 74
4.2.2 使用Kotlin操作Redis 75
4.3 Kotlin集成JPA、QueryDSL 81
4.3.1 JPA、QueryDSL介紹 82
4.3.2 使用Kotlin操作JPA、QueryDSL 83
4.4 Kotlin集成MongoDB 91
4.4.1 MongoDB介紹 91
4.4.2 使用Kotlin操作MongoDB 92
4.5 Kotlin集成Spring Security 98
4.5.1 Spring Security介紹 98
4.5.2 使用Kotlin操作Spring Security 100
4.6 Kotlin集成RocketMQ 105
4.6.1 RocketMQ介紹 105
4.6.2 使用Kotlin操作RocketMQ 107
4.7 Kotlin集成Elasticsearch 112
4.7.1 Elasticsearch介紹 112
4.7.2 使用Kotlin操作Elasticsearch 113
4.8 Kotlin集成Swagger 119
4.8.1 Swagger介紹 119
4.8.2 使用Kotlin操作Swagger 121
4.9 小結 126
第5章 Kotlin應用于微服務注冊中心 127
5.1 Eureka 127
5.1.1 Eureka介紹 127
5.1.2 Kotlin集成Eureka服務注冊 129
5.1.3 一個Eureka服務提供方 131
5.1.4 Kotlin集成OpenFeign服務調用 135
5.1.5 Kotlin集成Ribbon服務調用 139
5.2 Consul 143
5.2.1 Consul介紹 144
5.2.2 Kotlin集成Consul服務注冊 145
5.2.3 Kotlin集成OpenFeign和Ribbon服務調用 149
5.3 Zookeeper 153
5.3.1 Zookeeper介紹 153
5.3.2 Kotlin集成Zookeeper服務注冊 154
5.3.3 Kotlin集成OpenFeign和Ribbon服務調用 158
5.4 Nacos 163
5.4.1 Nacos介紹 163
5.4.2 Kotlin集成Nacos服務注冊 164
5.4.3 Kotlin集成OpenFeign和Ribbon服務調用 167
5.5 小結 171
第6章 Kotlin應用于微服務配置中心 172
6.1 Spring Cloud Config 172
6.1.1 Spring Cloud Config介紹 172
6.1.2 Kotlin集成Spring Cloud Config 173
6.2 Apollo配置中心 181
6.2.1 Apollo介紹 181
6.2.2 Kotlin集成Apollo 182
6.3 Nacos配置中心 186
6.4 Consul配置中心 192
6.5 小結 197
第7章 Kotlin應用于微服務網關 198
7.1 Kotlin集成Zuul 198
7.1.1 Zuul介紹 198
7.1.2 Kotlin集成Zuul 200
7.2 Kotlin集成Spring Cloud Gateway 211
7.2.1 Spring Cloud Gateway介紹 211
7.2.2 Kotlin集成Spring Cloud Gateway 212
7.3 小結 222
第8章 Kotlin應用于Spring Cloud Alibaba 223
8.1 服務限流降級 224
8.1.1 Sentinel介紹 225
8.1.2 Kotlin集成Sentinel 226
8.2 消息驅動 232
8.2.1 消息驅動介紹 233
8.2.2 Kotlin集成RocketMQ實現消息驅動 234
8.3 阿里對象云存儲 241
8.3.1 阿里對象云存儲介紹 241
8.3.2 Kotlin集成阿里對象云存儲 242
8.4 分布式任務調度 248
8.4.1 SchedulerX介紹 248
8.4.2 Kotlin集成SchedulerX 249
8.5 分布式事務 253
8.5.1 分布式事務介紹 253
8.5.2 Kotlin集成Seata 255
8.6 Spring Cloud Dubbo 270
8.6.1 Dubbo介紹 270
8.6.2 Kotlin集成Spring Cloud Dubbo 271
8.7 小結 279
第9章 Kotlin集成服務監控和服務鏈路監控 280
9.1 Prometheus、Grafana介紹 280
9.2 Kotlin集成Prometheus、Grafana 282
9.3 Kotlin集成Zipkin 288
9.4 Kotlin集成SkyWalking 298
9.5 小結 308
第10章 基于Kotlin和Spring Boot搭建博客 309
10.1 初始化Maven工程 309
10.2 系統架構 314
10.3 定義實體 316
10.4 數據庫設計 324
10.5 Repository層的設計 325
10.6 Service層的設計 346
10.7 Controller層的設計 353
10.8 部署到騰訊云 370
10.9 小結 373 |
序: |