摘要:下一代服務(wù)端開發(fā)下一代服務(wù)端開發(fā)第部門快速開始第章快速開始環(huán)境準備,,快速上手實現(xiàn)一個第章企業(yè)級服務(wù)開發(fā)從到語言的缺點發(fā)展歷程的缺點為什么是產(chǎn)生的背景解決了哪些問題為什么是的發(fā)展歷程容器的配置地獄是什么從到下一代企業(yè)級服務(wù)開發(fā)在移動開發(fā)領(lǐng)域
《 Kotlin + Spring Boot : 下一代 Java 服務(wù)端開發(fā) 》
Kotlin + Spring Boot : 下一代 Java 服務(wù)端開發(fā)
第 O 部門 快速開始[第1章 Kotlin + Spring Boot 快速開始 Hello World]()
1.1 環(huán)境準備:JDK,Gradle,IDEA
1.2 快速上手:Kotlin + Spring Boot 實現(xiàn)一個 Restful Hello World
[第2章 Spring Boot 企業(yè)級服務(wù)開發(fā):從 Java 到 Kotlin]()
2.1 Java語言的缺點
2.1.1 Java 發(fā)展歷程
2.1.2 Java 的缺點
2.2 為什么是 Kotlin
2.2.1 Kotlin 產(chǎn)生的背景
2.2.2 Kotlin 解決了哪些問題
2.3 為什么是 Spring Boot
2.4 Spring 的發(fā)展歷程
2.5 Spring IOC
2.6 Spring 容器
2.7 Spring 的配置地獄
2.8 Spring Boot 是什么
2.9 從 Spring 到 Spring Boot
2.10 下一代企業(yè)級服務(wù)開發(fā):Kotlin + Spring Boot
2.11 Kotlin 在 Android 移動開發(fā)領(lǐng)域勢不可擋
[第3章 Kotlin 語言簡介]()
3.1 Kotlin 是什么
3.2 Kotlin 目標平臺
3.2.1 JVM
3.2.2 Android
3.2.3 Browser
3.2.4 Native
3.3 Why Kotlin?
3.4 Kotlin 發(fā)展簡史
3.5 Kotlin 的主要特征
3.5.1 簡潔:大幅減少樣板代碼的數(shù)量
3.5.2 安全:避免空指針異常等錯誤
3.5.3 互操作:為JVM,Android和瀏覽器利用現(xiàn)有的庫
3.5.4 工具型:選擇任意的Java IDE或命令行構(gòu)建
3.6 Kotlin 的編程哲學:務(wù)實、極簡、安全、互操作
3.7 Kotlin 編程工具
[第4章 可空類型與安全操作符]()
4.1 空指針異常
4.2 什么是可空類型
4.3 為什么引入可空類型
4.4 安全調(diào)用運算符
4.5 類型轉(zhuǎn)換
4.6 基本數(shù)據(jù)類型與類型系統(tǒng)
[第5章 類與面向?qū)ο缶幊蘛()
5.1 面向?qū)ο蠛喪放c編程思想
5.2 聲明類和接口
5.3 抽象類與接口
5.4 object 單例對象類型
5.5 數(shù)據(jù)類
5.6 注解類型
5.7 枚舉類型
5.8 內(nèi)部類
[第6章 一等函數(shù)支持(FP):高階函數(shù)與 Lambda 表達式]()
6.1 聲明函數(shù)
6.2 函數(shù)的組合:高階函數(shù)
6.3 Lambda 表達式
6.4 帶接收者的 Lambda
6.5 遞歸與 Y 組合子
[第7章 集合類]()
7.1 集合類簡介
7.2 不可變集合類
7.3 可變集合類
7.4 集合類的 Stream API
7.5 惰性序列:Sequence
[第8章 泛型]()
8.1 為何引入泛型
8.2 在類、接口和函數(shù)上使用泛型
8.3 協(xié)變與逆變
8.4 類型擦除
[第9章 擴展函數(shù)與委托]()
9.1 擴展函數(shù)
9.2 擴展屬性
9.3 擴展中的this關(guān)鍵字
9.4 類委托
9.5 屬性委托
[第10章 創(chuàng)建自己的 DSL]()
10.1 什么是DSL
10.2 Kotlin的DSL特性支持
10.3 實現(xiàn)一個http ajax請求的DSL
[第11章 元編程與注解、反射]()
11.1 元編程簡介
11.2 為什么要使用注解跟反射
11.3 聲明注解與處理注解
11.4 反射的原理
11.5 使用反射獲取泛型信息
[第12章 輕量級線程:協(xié)程]()
12.1 協(xié)程的概念
12.2 為什么使用協(xié)程
12.2 創(chuàng)建協(xié)程
12.3 掛起函數(shù)
12.4 協(xié)程與線程比較
[第13章 Spring Boot 簡介]()
13.1 從 XML 中逃離:Spring JavaConfig
13.2 Spring 3 新特性
13.3 Spring 4 與 Spring Boot
13.4 Spring Boot 解放 Spring的配置
14.5 SpringBoot 核心模塊
13.6 Spring Boot Actuator
13.7 Spring Boot 與微服務(wù)
[第14章 常用 Spring Boot Starter ]()
14.1 常用 Spring Boot Starter的介紹
基礎(chǔ)起步依賴 Spring Boot Starter
測試起步依賴 Spring Boot Test Starter
Web 開發(fā)起步依賴 Spring Boot Web Starter
模板引擎起步依賴 FreeMarker Starter 與 Thymeleaf Starter
數(shù)據(jù)庫 ORM 層起步依賴 Spring Boot Data JPA Starter 與 Mybatis Spring Boot Starter
權(quán)限與安全起步依賴 Spring Boot Security Starter
WebSocket編程起步依賴 Spring Boot WebSocket Starter
郵件模塊起步依賴 Spring Boot Mail Starter
日志功能起步依賴 Spring Boot Logging Starter
Servlet 容器起步依賴 Tomcat Starter 與 Jetty Starter
AOP 編程起步依賴 Spring Boot AOP Starter
數(shù)據(jù)校驗起步依賴 Spring Boot Validation Starter
Redis 起步依賴 Spring Boot Data Redis Starter
MongoDB 起步依賴 Spring Boot Data MongoDB Starter
REST 起步依賴 Spring Boot Data REST Starter
緩存Cache 起步依賴 Spring Boot Cache Starter
Actuator起步依賴 Spring Boot Actuator Starter
Spring Cloud 起步依賴 Spring Cloud Starter
Eureka起步依賴 Spring Cloud Starter Eureka
Oauth2起步依賴 Spring Cloud Starter Oauth2
[第15章 Spring Boot AutoConfigure自動配置原理]()
15.1 什么是 AutoConfigure
15.2 Spring Boot 怎樣實現(xiàn)自動配置
15.2.1 SpringApplication 類
15.2.2 使用 Fluent Builder API 構(gòu)建 SpringApplication 類
15.2.3 @EnableAutoConfiguration自動配置原理
15.3 Spring Boot 默認配置約定
15.4 FreeMarkerAutoConfiguration自動配置的實例分析
15.5 應(yīng)用啟動初始化 CommandLineRunner
[第16章 實現(xiàn)一個自己的 Spring Boot Starter]()
16.1 新建自定義的 Starter 工程
16.2 創(chuàng)建自動配置類 MyAutoConfiguration
16.3 @Configuration 配置系列注解
@ConfigurationProperties 注解
@EnableConfigurationProperties 注解
16.4 @ConditionalOn 條件裝配系列注解
@ConditionalOnClass:當類路徑下有指定的類的條件下
@ConditionalOnProperty:指定的屬性是否有指定的值
@ConditionalOnBean:當容器中有指定的Bean的條件下
@ConditionalOnExpression:基于SpEL表達式作為判斷條件
@ConditionalOnJava:基于JVM版本作為判斷條件
@ConditionalOnJndi:在JNDI存在的條件下查找指定的位置
@ConditionalOnMissingBean:當容器中沒有指定Bean的情況下
@ConditionalOnMissingClass:當類路徑下沒有指定的類的條件下
@ConditionalOnNotWebApplication:當前項目不是Web項目的條件下
@ConditionalOnResource:類路徑下是否有指定的資源
@ConditionalOnSingleCandidate:當指定的Bean在容器中只有一個,或者在有多個Bean的情況下,用來指定首選的Bean
@ConditionalOnWebApplication:當前項目是Web項目的條件下
16.5 編寫服務(wù)實現(xiàn)類
16.6 注冊配置自動配置類
@ImportAutoConfiguration 注解
16.7 將上面構(gòu)建的starter安裝到本地
16.8 新建spring boot項目依賴上面的 starter
16.9 添加屬性到application.properties配置文件中
16.10 編寫測試代碼
[ 第17章 Spring 5 內(nèi)置的 Kotlin 函數(shù)式編程風格 ]()
17.1 Spring Framework 5.0 新特性
17.2 內(nèi)置的 Kotlin 函數(shù)式編程風格
17.3 使用 Spring WebFlux 進行響應(yīng)式編程
[第18章 Kotlin 與 Spring Boot 使用 JUnit 進行單元測試]()
18.1 為什么要進行測試
18.2 JUnit 框架簡介
18.3 @RunWith 注解
18.4 @SpringBootTest 注解
18.5 SpringRunner 類
18.6 使用 Mockito 進行 Mock 測試
18.6.1 Mocking 與 Spying Beans
18.6.2 使用@WebMvcTest與@MockBean 來測試 Controller 代碼
18.7 使用HTMLUnit的 WebClient來進行 Web 頁面的測試
[第19章 Kotlin 與 Spring Boot 數(shù)據(jù)層ORM 框架集成]()
19.1 Spring Data JPA 簡介
19.2 Kotlin 與 Spring Boot 集成 Spring Data JPA
19.2.1 使用 Spring Boot Data JPA Starter 起步依賴集成
19.2.2 配置數(shù)據(jù)源
19.2.3 配置 JPA 屬性:spring.jpa.hibernate.ddl-auto
19.2.4 創(chuàng)建 Entity
19.2.5 實現(xiàn) Repository 接口函數(shù)
CrudRepository
PagingAndSortingRepository
JpaRepository
19.3 分頁與排序
19.3.1 排序 Sort 類型
19.3.2 分頁相關(guān)的類型 Pageable、PageRequest 與 Page
19.4 自定義 Dto 映射到多表關(guān)聯(lián)查詢結(jié)果
19.5 JPA 集成 QueryDSL
19.6 MyBatis簡介
19.7 使用 mybatis-spring-boot-starter 集成
19.8 在 application.properties 中配置 mybatis
19.9 手動實現(xiàn) TransactionManagementConfigurer 方式集成
19.10 集成 MyBatis Generator
19.11 分頁插件 PageHelper
19.12 通用 Mapper 集成
19.13 使用@Provider 注解配置 Mapper
[ 第20章 Kotlin 與 Spring Boot 集成 Spring MVC 進行 Web 應(yīng)用開發(fā)]()
20.1 MVC 三層模型
20.2 基于注解的 Controller
20.2.1 @Controller 注解
20.2.2 數(shù)據(jù)視圖模型: Model 與 ModelAndView
20.2.3 REST 接口@RestController
20.2.4 URL 路徑映射 @RequestMapping
20.2.5 @ResponseBody
20.2.6 數(shù)據(jù)的生產(chǎn)和消費:consumes 、produces
20.2.7 @PathVariable 與 @RequestParam
20.3 數(shù)據(jù)綁定
20.3.1 @ModelAttribute 注解
20.3.2 @InitBinder 注解與 WebDataBinder
20.3.3 BindingResult
20.3.4 數(shù)據(jù)綁定流程
20.4 數(shù)據(jù)類型轉(zhuǎn)換器 Converter
20.4.1 消息轉(zhuǎn)換器 HttpMessageConverter
20.4.2 自定義日期類型格式轉(zhuǎn)換器
20.4.3 實現(xiàn) ConversionService 接口
20.5 數(shù)據(jù)校驗
20.5.1 JSR-303
20.5.2 使用 @Validated 注解
20.5.3 實現(xiàn) Validator 校驗器
20.6 表達式語言 SPEL
20.7 上傳與下載文件:Multipart File
20.8 異常處理: @ControllerAdvice 與 @ExceptionHandler
[第21章 Kotlin 與 Spring Boot 集成 Spring WebFlux 進行響應(yīng)式 Web 應(yīng)用開發(fā)]()
21.1 響應(yīng)式宣言
21.2 Spring 5 響應(yīng)式Web框架架構(gòu)圖
21.3 Router Functions
21.4 核心組件 WebFlux
21.5 Reactive Streams
21.6 示例工程詳解
21.6.1 Mono 類
21.6.2 服務(wù)端響應(yīng) ServerResponse
21.6.3 路由函數(shù) RouterFunction
21.6.4 處理函數(shù) HandlerFunction
21.6.5 測試輸出
[第22章 Kotlin 與 Spring Boot 視圖層模板引擎集成 ]()
22.1 Freemarker 基礎(chǔ)語法
22.2 FreeMarkerAutoConfiguration
22.3 Kotlin 與 Spring Boot 集成 Freemarker 模板引擎
22.4 Thymeleaf 基礎(chǔ)語法
22.5 ThymeleafAutoConfiguration
22.6 Kotlin 與 Spring Boot 集成 Thymeleaf 模板引擎
[第23章 Kotlin 與 Spring Boot 權(quán)限與安全集成 ]()
23.1 Spring Security 是什么
23.2 使用 Spring Boot Security Starter 集成
23.3 Spring Boot Security 的基本配置
23.4 初級 Security: 默認認證用戶名密碼
23.4.1 WebMvcConfigurer
23.4.2 AuthenticationManager
23.5 中級 Security:內(nèi)存用戶名密碼認證
23.5.1 httpBasic
23.5.2 formLogin
23.5.3 角色權(quán)限控制
23.5.4 獲取當前登錄認證通過的用戶信息
23.5.5 注冊 Servlet、Filter、Listener 等Bean
23.6 高級 Security: 用數(shù)據(jù)庫存儲用戶和角色,實現(xiàn)安全認證
23.6.1 用戶、角色及其關(guān)聯(lián)關(guān)系的表實體類:User,Role,UserRole
23.6.2 繼承 WebSecurityConfigurerAdapter 配置Spring Security
23.6.3 從數(shù)據(jù)庫中獲取用戶信息:UserDetailsService
23.6.4 配置錯誤處理頁面
23.6.5 測試運行
23.7 Shiro 是什么
23.8 Kotlin 與 Spring Boot 集成 Shiro 配置步驟
23.9 使用 HashedCredentialsMatcher 對密碼進行編碼
23.10 使用 ShiroRealm 來處理用戶的認證和權(quán)限
23.11 使用 SecurityManager 進行權(quán)限的管理
[第24章 Kotlin 與 Spring Boot 定時任務(wù)集成 Spring Scheduling]()
24.1 直接使用@Scheduled實現(xiàn)靜態(tài)定時任務(wù)
24.2 實現(xiàn) SchedulingConfigurer 接口完成動態(tài)定時任務(wù)
[第25章 Kotlin 與 Spring Boot 批量任務(wù)集成 Spring Batch]()
[第26章 Kotlin 與 Spring Boot 全文搜索引擎集成 ElasticSearch]()
[第27章 Kotlin 與 Spring Boot 消息中間件集成 Kafka]()
27.1 Kafka 配置
27.2 發(fā)送 Message
27.3 接收 Message
[第28章 Kotlin 與 Spring Boot 緩存集成 Redis]()
[第29章 Kotlin 與 Spring Boot 日志集成 sl4j]()
29.1 配置 application.properties
29.2 logback-spring.xml 文件詳解
[第30章 Kotlin 與 Spring Boot 郵件功能集成]()
[第31章 Kotlin 與 Spring Boot 集成 Swagger2 自動化API管理]()
31.1 Swagger2 動化 API 管理
31.2 Kotlin 與 Spring Boot 集成 Swagger2 步驟
31.2.1 添加工程依賴
31.2.2 配置Swagger的Docket Bean
31.2.3 繼承WebMvcConfigurerAdapter 重寫 addResourceHandlers 函數(shù)
31.2.4 在Controller上面的使用 Swagger2 的@Api 注解
31.2.5 啟用Swagger2配置注解 @EnableSwagger2
31.3 運行測試
[第32章 Kotlin + Spring Boot 與 Spring Cloud 微服務(wù)實踐]()
[第33章 使用 Actuator 進行應(yīng)用監(jiān)控 ]()
33.1 Endpoints 介紹
33.2 設(shè)置 Endpoints 安全權(quán)限
33.3 實現(xiàn)自定義的 Endpoints
[第34章 Spring Boot 應(yīng)用的部署與運維 ]()
34.1 應(yīng)用打包成可執(zhí)行的 jar 包
34.2 應(yīng)用打包成可部署的 war 包
34.3 @Profile 注解與多環(huán)境部署
application.properties
詳見官網(wǎng)文檔:Appendix A. Common application properties
https://docs.spring.io/spring...
II. Auto-configuration classes
Appendix C. Auto-configuration classes
III. Test auto-configuration annotations
Appendix D. Test auto-configuration annotations
Kotlin 1.2.0 新特性:
https://github.com/JetBrains/...
Spring Boot 與 微服務(wù):
http://www.infoq.com/cn/articles/microframeworks1-spring-boot
http://blog.csdn.net/zeb_perfect/article/details/51945350
SpringBoot 自動配置原理:http://www.jianshu.com/p/ccad...
自定義 Spring Boot Starter :
http://blog.csdn.net/liuchuan...
http://www.jianshu.com/p/4553...
http://www.jianshu.com/p/8546...
Spring 5 新特性:
https://www.oschina.net/trans...
Spring Boot集成Spring Security:
http://www.jianshu.com/p/08cc...
SpringBoot + Shiro 整合 登錄認證和權(quán)限控制:
http://www.jianshu.com/p/672a...
http://shiro.apache.org/
https://segmentfault.com/a/11...
https://www.cnblogs.com/hlhdi...
http://blog.csdn.net/u0123738...
http://412887952-qq-com.iteye...
SpringBoot SpringMVC實現(xiàn)文件下載:
http://www.jianshu.com/p/cc31...
Spring Boot 集成日志 logging sl4j:
http://www.jianshu.com/p/666e...
spring boot內(nèi)置tomcat設(shè)置虛擬目錄
Spring Boot配置文件-多環(huán)境配置: https://www.cnblogs.com/winne...
SpringBoot官網(wǎng)文檔:
http://projects.spring.io/spring-boot/
https://pivotal.io/spring-app-framework#buildanything
https://pivotal.io/
http://projects.spring.io/
http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/
Spring Data JPA:
https://projects.spring.io/sp...
spring-data-jpa-with-querydsl:
http://dontpanic.42.nl/2011/0...
http://www.jianshu.com/p/2b68...
SpringBoot 集成 MyBatis:
http://blog.csdn.net/isea533/...
https://github.com/EasySpring...
Spring MVC 消息轉(zhuǎn)換器:
http://www.jianshu.com/p/2f63...
http://blog.csdn.net/qwe61120...
http://jinnianshilongnian.ite...
SpringMVC之類型轉(zhuǎn)換Converter:
http://blog.csdn.net/renhui99...
SpringMVC 數(shù)據(jù)綁定流程
http://www.cnblogs.com/rocky-...
Spring Boot集成Swagger2構(gòu)建自動化Rest API文檔:
http://www.jianshu.com/p/be05...
參考書籍:
《Kotlin 實戰(zhàn)》
《Kotlin 極簡教程》
《Spring 實戰(zhàn)》
《Java 編程思想》
《Effective Java》
《Java 核心技術(shù) I/II》
《Spring MVC 學習指南》
《 Kotlin + Spring Boot : 下一代 Java 服務(wù)端開發(fā) 》
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68020.html
摘要:是什么著名廠商開發(fā)的基于的靜態(tài)類型編程語言,聲稱。語法近似和,且已活躍在開發(fā)領(lǐng)域,被譽為平臺的。各有千秋,我更認同改寫字節(jié)碼。的作用是防止敏感字段被泄露到中,的作用是軟刪除數(shù)據(jù)不可見,但沒有真的刪除。 Kotlin是什么? 著名IDE廠商JetBrains開發(fā)的基于JVM的靜態(tài)類型編程語言,聲稱100%?interoperable?with?Java。Kotlin是由工程師設(shè)計的,各種...
摘要:二教程環(huán)境三創(chuàng)建項目創(chuàng)建項目有兩種方式一種是在官網(wǎng)上創(chuàng)建二是在上創(chuàng)建如圖所示勾選然后點,然后一直默認最后點擊完成即可。我們這里看到和普通的接口沒有異同,除了返回類型是用包裝之外。與之對應(yīng)的還有,這個后面我們會講到。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 從去年開始就開始學習...
摘要:應(yīng)用化極簡教程陳光劍基于的企業(yè)級應(yīng)用開發(fā)最佳實踐前面的章節(jié)中,我們都是在環(huán)境中開發(fā)運行測試應(yīng)用程序。關(guān)鍵字是分布式應(yīng)用微服務(wù)容器虛擬化。通常,在企業(yè)項目實踐中,會實現(xiàn)一套應(yīng)用部署發(fā)布的自動化運維平臺工具。 Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡教程》(陳光劍)—— 基于 Gradle + Kotlin的企業(yè)級應(yīng)用開發(fā)最佳實踐 前面的章節(jié)中,...
摘要:應(yīng)用化極簡教程陳光劍基于的企業(yè)級應(yīng)用開發(fā)最佳實踐前面的章節(jié)中,我們都是在環(huán)境中開發(fā)運行測試應(yīng)用程序。關(guān)鍵字是分布式應(yīng)用微服務(wù)容器虛擬化。通常,在企業(yè)項目實踐中,會實現(xiàn)一套應(yīng)用部署發(fā)布的自動化運維平臺工具。 Spring Boot 應(yīng)用 Docker 化 《Spring Boot 2.0極簡教程》(陳光劍)—— 基于 Gradle + Kotlin的企業(yè)級應(yīng)用開發(fā)最佳實踐 前面的章節(jié)中,...
摘要:環(huán)境依賴修改文件,添加依賴。使用為被標注的類去掉,允許被繼承。數(shù)據(jù)源方案一使用默認配置使用默認配置,不需要在創(chuàng)建和的。相關(guān)為了展現(xiàn)效果,我們先定義一組簡單的接口進行測試。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者及出處,謝謝! 本文講解 Spring Boot2 基礎(chǔ)下,如何使用 Kotlin,并無縫整合與完美交融。為了讓讀...
閱讀 3061·2021-11-25 09:43
閱讀 1037·2021-11-24 10:22
閱讀 1367·2021-09-22 15:26
閱讀 694·2019-08-30 15:44
閱讀 2470·2019-08-29 16:33
閱讀 3709·2019-08-26 18:42
閱讀 921·2019-08-23 18:07
閱讀 1840·2019-08-23 17:55