Java EE企業級應用開發技術研究
內容描述
Java EE技術是當今流行的Web程序開發技術之一。本書結合企業級應用的需要,對Java EE的主流技術進行了研究,並結合應用實際講解了其開發環境、建模方法、架構模式,以及基於主流架構技術的設計方法。全書共7章,內容依次為:Java EE與企業級應用開發、基於Spring Boot構建項目、基於Spring Data JPA實現數據訪問層、基於MyBatis實現數據訪問層、基於Spring Security實現認證和授權、微服務架構與Spring Cloud、在微服務架構中整合OAuth2。另外,本書通過一個網上人才中心系統的設計案例,分別介紹了單體架構和微服務架構涉及的核心技術,演示了構建一個安全可靠、穩定高效、易於擴展的應用系統的方法。
目錄大綱
目錄
第1章Java EE與企業級應用開發1
1.1 Java EE概述1
1.1.1企業級應用及其特點1
1.1.2 Java EE及其常用技術2
1.2搭建Java EE開發環境5
1.2.1安裝與配置JDK 5
1.2.2安裝與使用MySQL 6
1.2.3安裝集成開發工具IDEA 8
1.2.4安裝Tomcat 14
1.3建模工具與編碼規範化17
1.3.1 UML建模工具PlantUML 17
1.3.2數據庫建模工具Workbench 25
1.3.3 IDEA數據庫管理工具26
1.3.4基本編碼規範與常用技術29
1.3.5 Spring Boot集成Swagger2 35
1.4 Java EE項目的分層架構模式39
1.4.1分層架構模式概述39
1.4.2 Java Web應用中的三層結構40
1.4.3結合MVC模式的分層結構41
1.4.4網上人才中心系統分析與設計42
第2章基於Spring Boot構建項目54
2.1 Spring Boot概述54
2.1.1 Spring及Spring MVC 54
2.1.2 Spring Boot 56
2.2使用IDEA創建Spring Boot項目57
2.2.1創建Spring Boot項目57
2.2.2根據項目需要引入其他依賴60
2.2.3按分層結構組織程序結構63
2.2.4建立分頁工具類65
2.2.5應用程序基本配置67
2.3實體類與接口設計67
2.3.1實體類設計67
2.3.2業務邏輯層接口設計69
2.3.3數據訪問層接口設計69
2.4數據訪問層與業務邏輯層實現69
2.4.1數據訪問層實現69
2.4.2對數據訪問層進行單元測試72
2.4.3業務邏輯層實現75
2.5控制層實現76
2.5.1控制層設計的基本原理76
2.5.2控制類基類設計78
2.5.3實現其他控制類79
2.5.4對控制層進行單元測試81
2.6視圖層實現83
2.6.1系統首頁設計84
2.6.2管理員視圖設計85
2.6.3部署運行程序95
第3章基於Spring Data JPA實現數據訪問層98
3 .1 Spring Data JPA概述98
3.1.1 ORM與JPA 98
3.1.2 Spring Data JPA 99
3.1.3 Spring Data JPA接口和類100
3.2 Spring Boot與Spring Data JPA整合103
3.2.1 Spring Data JPA基本配置103
3.2.2數據源配置優化104
3.2.3基於Spring Data JPA實現Dao層107
3.2.4 Spring Data JPA擴展108
3.3實體對象映射110
3.3.1實體映射基礎110
3.3.2實體關係映射112
3.3.3使用逆向工程生成實體類117
3.3.4網上人才中心系統實體類定義119
3.4 JPA數據操作方法123
3.4.1使用預定義的方法查詢123
3.4. 2使用自定義方法查詢126
3.4.3查詢結果格式128
3.4.4網上人才中心系統數據訪問層設計129
3.4.5網上人才中心系統業務邏輯層設計129
第4章基於MyBatis實現數據訪問層132
4.1 MyBatis技術概述132
4.1.1 MyBatis簡介132
4.1.2 MyBatis與Spring Data JPA比較132
4.1.3 MyBatis核心類及工作原理133
4.1.4映射器與Mapper實例135
4.2 Spring Boot與MyBatis整合137
4.2.1 MyBatis基本配置137
4.2.2基於MyBatis實現Dao層137
4.2.3 MyBatis映射器配置140
4.3基於MyBatis Generator的逆向工程145
4.3.1 MyBatis Generator基礎145
4.3.2 MyBatis Generator擴展149
4.3.3使用自動生成的代碼操作數據庫151
4.4基於MyBatis-Plus的逆向工程152
4.4.1 MyBatis-Plus基礎152
4.4.2 MyBatis-Plus擴展156
4.4.3基於MyBatis-Plus的數據操作159
第5章基於Spring Security實現認證和授權162
5.1 Spring Security概述162
5.1.1 Spring Security簡介162
5.1.2 Spring Security原理162
5.1.3 Spring Security配置基礎164
5.2網上人才中心系統權限體系設計與開發169
5.2.1權限相關數據結構及實體類設計169
5.2.2權限相關數據訪問層設計174
5.2.3權限相關業務邏輯層設計178
5.2.4權限相關控制層設計180
5.2.5權限相關視圖層設計187
5.3權限相關組件設計及其配置設計193
5.3. 1權限相關組件設計193
5.3.2驗證碼實現相關設計197
5.3.3權限相關配置設計200
第6章微服務架構與Spring Cloud 203
6.1微服務架構概述203
6.1.1單體架構與微服務架構203
6.1.2 Spring Cloud概述206
6.1.3 Spring Cloud重要組件介紹207
6.2網上人才中心系統微服務工程設計208
6.2.1微服務設計基礎208
6.2.2微服務項目結構209
6.2.3創建微服務項目210
6.2.4創建模塊215
6.3基礎微服務項目設計216
6.3.1創建服務註冊中心216
6.3 .2創建配置管理中心217
6.3.3創建微服務網關221
6.4 REST API微服務設計223
6.4.1領域業務設計223
6.4.2查詢對象設計227
6.4.3 REST API應用設計228
6.4.4 RESTful的HTTP接口設計236
6.5視圖微服務設計239
6.5.1 Thymeleaf技術239
6.5.2 Web UI微服務設計241
6.5.3統一入口微服務設計250
第7章在微服務架構中整合OAuth2 259
7.1基於OAuth2實現SSO的原理259
7.1.1 OAuth2基本原理259
7.1.2 JWT概述260
7.1.3在微服務架構中實現SSO 261
7.2 OAuth2授權服務器模塊設計262
7.2.1 OAuth2授權服務器模塊262
7.2.2對授權服務器進行配置264
7.2.3登錄管理及安全配置267
7.2.4控制器和用戶登錄界面設計270
7.3實現微服務應用訪問控制272
7.3.1對網關Zuul進行配置272
7.3.2創建安全模塊273
7.3.3配置微服務應用280
參考文獻281
作者介紹
楊樹林,教授,碩士研究生導師,北京市高校優秀共產黨員,教學名師,中國版權標準化技術委員會委員,北京市高校信息化研究會理事。
近幾年主持橫縱向課題9項,參與國家自然科學基金等科研項目7項,出版學術專著2 部,發表學術論文30餘篇,編著教材13部,獲評北京市精品教材1 部。
擅長軟件架構技術和軟件設計方法研究,對Java EE技術有豐富的應用經驗。