1. 程式人生 > >Java架構師指南

Java架構師指南

網站

更多書籍點選進入>> CiCi島

下載

電子版僅供預覽及學習交流使用,下載後請24小時內刪除,支援正版,喜歡的請購買正版書籍

封頁

封頁

編輯推薦

知名Java專家多年經驗總結,介紹從程式設計師進階到架構師需要具備的技能的完整教程 基於Java官方API的解讀,從架構師的獨特角度講解Java知識和技能 企業級開發的經典示例,全程專案驅動,涵蓋電商支付介面的綜合除錯 程式設計師走向架構師是必經之路。本書基於Java官方API進行解讀,從架構師的角度講解Java知識和技能,並從搭建虛擬機器開始,學習常用的Linux命令,力爭使程式設計師能在較短的時間內成功邁入架構師的殿堂。 近年來程式設計領域的知識愈加豐富,使廣大程式設計師應接不暇。如何在有限的時間內高效學習是一個棘手的問題。本書作者根據自身的豐富經驗,精選了Java中必須掌握的核心技能,並以專案為驅動,循序漸進,詳細講解了企業級專案和電商平臺,讓讀者在學習知識的同時以實戰加深印象,可謂是高屋建瓴。 如何能在短時間內達到架構師的水平?面對難以入手的海量知識,讀者往往一頭霧水,相信通過閱讀本書,每位讀者都能從中找到答案。

內容簡介

本書總結了作者多年來在Java Web方面的開發經驗,全面闡述了Java架構師所需掌握的知識和技能,並圍繞Java架構師這一主題介紹相關的內容。 本書共12章。書中通過講解企業管理系統、電商系統、報表系統等專案的實際開發流程,把流行的Struts、Spring、Hibernate、Spring MVC、MyBatis等框架整合起來,再從程式碼層面講述Maven、WebService、POI等技術,讓讀者在學習Java架構師需要具備的專業技能的同時,瞭解專案開發的整個過程。在專案運維方面,本書還講解了SonarQube和Jenkins開源元件,以拓寬架構師的知識廣度。 本書可以幫助不同技術層次的讀者在短時間內掌握Java架構師需要具備的知識,縮短從程式設計師到架構師的進階時間。因為書中的每份程式碼都有詳細的註釋和解析,很方便讀者領會,所以不論是剛步入職場的新手,還是有一定工作經驗的開發人員,本書都同樣適用。

作者簡介

王波 軟體架構師。曾就職於中軟國際。從業多年,成功地開發過基於通訊、電商、資料管理等相關業務的專案,在Java Web領域擁有豐富的經驗。擅長搭建以Struts、Spring框架為基礎的專案架構、並且在此基礎上選擇合適的ORM框架。在日常工作中,堅持認為程式設計師應該以全棧作為要求,以架構師作為目標,才可以更好地將客戶的需求用計算機語言描述出來;認為在軟體行業未來的發展中, Java Web領域的開發仍然會以MVC模式為主,並且在此基礎上不斷演化,開發過程則會更加依賴於框架,所以架構師會成為不可缺少的人才。

目 錄

目 錄





第 1章 程式設計基礎 1


1.1 程式設計師進階 1


1.2 選擇開發工具 3


1.3 安裝JDK 5


1.4 安裝Tomcat伺服器 6


1.5 Hello World程式 8


1.6 小結 9


第 2章 需求調研 10


2.1 搭建關係 10


2.2 正式立項 11


2.3 需求調研 11


2.4 輸出文件 12


2.5 技術選型 16


2.6 資料流圖 16


2.7 UML建模 16


2.8 專案開工會 17


2.9 小結 18


第3章 專案開發 19


3.1 定義範圍和WBS分解 19


3.2 企業管理系統框架搭建 20


3.3 Servlet方式開發 20


3.3.1 前端驗證 22


3.3.2 後端驗證 25


3.3.3 註冊功能 28


3.3.4 綜合除錯 39


3.3.5 Servlet註解 43


3.4 不依賴框架的開發 45


3.4.1 銷售資料匯入報表 46


3.4.2 銷售資料查詢報表 53


3.5 月度版本 57


3.6 小結 57


第4章 專案部署 58


4.1 專案打包 58


4.2 專案釋出 62


4.3 構建工具 63


4.3.1 Ant環境搭建 63


4.3.2 Ant經典例項 64


4.3.3 Maven環境搭建 66


4.3.4 Maven經典例項 66


4.4 部署工具 70


4.4.1 mstsc 71


4.4.2 VMware 71


4.4.3 Xmanager 75


4.4.4 WinSCP 79


4.4.5 JD-GUI 80


4.5 小結 81


第5章 程式設計環境 82


5.1 Linux系統介紹 82


5.2 Linux系統安裝 83


5.3 Linux常用命令 84


5.3.1 基本命令 84


5.3.2 高階命令 90


5.3.3 部署命令 93


5.3.4 shell指令碼入門 100


5.4 DOS介紹 101


5.4.1 基本命令 102


5.4.2 高階命令 104


5.5 SVN與Git版本控制 105


5.5.1 SVN常用操作 106


5.5.2 Git常用操作 110


5.6 Visio畫圖 114


5.7 Axure原型設計 115


5.8 程式碼編輯器 116


5.9 小結 119


第6章 架構師思想 120


6.1 資料型別 120


6.1.1 Object 121


6.1.2 byte和Byte 122


6.1.3 short和Short 122


6.1.4 int和Integer 122


6.1.5 long和Long 123


6.1.6 float和Float 123


6.1.7 char和Character 124


6.1.8 double和Double 124


6.1.9 boolean和Boolean 125


6.2 類與物件 125


6.2.1 三大特性 126


6.2.2 屬性和方法 126


6.2.3 抽象類和介面 128


6.3 陣列 129


6.3.1 建立陣列 129


6.3.2 陣列的初始化 130


6.3.3 陣列的排序 130


6.4 集合類 130


6.4.1 Collection介面 131


6.4.2 Set介面 132


6.4.3 List介面 134


6.4.4 Queue介面 135


6.4.5 Map介面 136


6.4.6 HashMap實現類 136


6.4.7 TreeMap實現類 137


6.4.8 Hashtable實現類 137


6.4.9 Iterator迭代器 137


6.5 檔案與流 139


6.5.1 File類 139


6.5.2 位元組流 140


6.5.3 字元流 142


6.6 異常處理 145


6.6.1 try catch捕獲 145


6.6.2 throw throws丟擲 147


6.6.3 自定義異常 147


6.7 程式碼除錯 148


6.7.1 Web除錯方式 148


6.7.2 Java除錯方式 149


6.8 多執行緒 150


6.8.1 執行緒建立 150


6.8.2 執行緒排程 152


6.8.3 執行緒同步 152


6.9 監聽器 155


6.9.1 實現Listener 155


6.9.2 配置Listener 155


6.9.3 測試Listener 156


6.10 過濾器 157


6.10.1 實現Filter 157


6.10.2 配置Filter 158


6.10.3 測試Filter 159


6.11 反射機制 160


6.11.1 ReflectDemo 160


6.11.2 InvokeDemo 162


6.12 XML 163


6.12.1 建立XML 163


6.12.2 解析XML 164


6.13 WebService 166


6.13.1 實現服務端 167


6.13.2 實現客戶端 168


6.14 Ajax傳遞 169


6.14.1 Ajax是什麼 169


6.14.2 Ajax的JavaScript語法 171


6.14.3 Ajax的jQuery語法 174


6.15 JSP內建物件 175


6.15.1 request 175


6.15.2 response 176


6.15.3 session 177


6.15.4 application 179


6.15.5 out 180


6.15.6 pageContext 180


6.15.7 config 181


6.15.8 page 182


6.15.9 exception 183


6.16 Log4j配置 184


6.16.1 配置Log4j 184


6.16.2 配置Logback 186


6.17 小結 188


第7章 資料庫 189


7.1 MySQL 189


7.1.1 安裝 189


7.1.2 命令 191


7.1.3 profiling 196


7.1.4 SQLyog 198


7.2 Oralce 199


7.2.1 安裝 200


7.2.2 命令 202


7.2.3 PLSQL 205


7.3 NoSQL 207


7.3.1 MongoDB 207


7.3.2 Redis 210


7.4 MyBatis 212


7.4.1 MyBatis環境搭建 212


7.4.2 MyBatis配置引數 215


7.5 Hibernate 219


7.5.1 Hibernate環境搭建 219


7.5.2 Hibernate配置引數 222


7.6 函式 222


7.7 遊標 223


7.8 儲存過程 224


7.9 小結 225


第8章 Struts Spring Hibernate 226


8.1 框架搭建 226


8.1.1 整體規劃 226


8.1.2 MVC理念 227


8.2 框架整合 233


8.2.1 Struts 2的整合 233


8.2.2 Spring 3的整合 234


8.2.3 Hibernate的整合 235


8.2.4 前端外掛的整合 236


8.3 許可權管理 236


8.3.1 業務設計 237


8.3.2 程式設計 238


8.3.3 資料庫設計 247


8.4 架構設計 250


8.4.1 邏輯層 250


8.4.2 業務層 255


8.4.3 持久層 256


8.4.4 架構優化 258


8.4.5 架構拓展 259


8.4.6 配置檔案 268


8.5 報表匯出 282


8.5.1 POI介紹 282


8.5.2 POI匯出前端實現 283


8.5.3 POI匯出後端實現 284


8.5.4 下載Excel檔案 289


8.5.5 CSV介紹 290


8.5.6 CSV匯出前端實現 291


8.5.7 CSV匯出後端實現 292


8.5.8 下載CSV檔案 295


8.5.9 匯出功能XML檔案配置 297


8.6 加入快取機制 297


8.6.1 Ehcache的搭建 297


8.6.2 Ehcache的使用 300


8.7 解決併發問題 301


8.7.1 連線池 301


8.7.2 Nginx 302


8.8 小結 306


第9章 Spring MVC 307


9.1 框架搭建 307


9.1.1 整體規劃 307


9.1.2 技術選型 308


9.1.3 專案結構 309


9.2 詳細設計 309


9.2.1 業務設計 310


9.2.2 原型設計 310


9.2.3 資料庫設計 310


9.3 架構設計 311


9.3.1 邏輯層 311


9.3.2 業務層 315


9.3.3 持久層 316


9.3.4 配置檔案 323


9.4 POI匯入 334


9.4.1 POI匯入前端實現 334


9.4.2 POI匯入後端實現 336


9.5 小結 342


第 10章 電商平臺 343


10.1 框架搭建 343


10.1.1 整體規劃 343


10.1.2 技術選型 344


10.2 詳細設計 344


10.2.1 業務設計 344


10.2.2 原型設計 344


10.2.3 資料庫設計 345


10.3 架構設計 346


10.3.1 邏輯層 346


10.3.2 業務層 348


10.3.3 持久層 349


10.3.4 資料通道 350


10.4 支付介面 352


10.4.1 開發賬號 352


10.4.2 支付介面整合 354


10.4.3 支付介面除錯 357


10.5 JDBC連線類 361


10.6 小結 364


第 11章 產品思維 365


11.1 何謂產品化 365


11.1.1 三個標準 365


11.1.2 軟體服務 366


11.2 軟體產品化 368


11.2.1 開發文件 368


11.2.2 產品風格 368


11.2.3 前端框架 369


11.2.4 後端框架 371


11.3 圖表專案 372


11.3.1 Bootstrap外掛 372


11.3.2 ECharts圖表 374


11.4 小結 376


第 12章 專案運維 377


12.1 平臺維護 377


12.1.1 系統上線 378


12.1.2 運維報告 380


12.2 SonarQube程式碼掃描 381


12.2.1 環境搭建 381


12.2.2 PMD模板方式 381


12.2.3 Java自定義規則 386


12.3 Jenkins自動化部署 394


12.3.1 部署介紹 394


12.3.2 搭配使用 394


12.4 資料遷移 397


12.4.1 場景分析 397


12.4.2 ETL工具 397


12.5 小結 399

媒體評論

強烈推薦閱讀這本書!本書適合所有立志成為架構師的朋友。作者基於自身豐富的工作經驗,深入淺出地講述了Java世界中從普通程式設計師進階到架構師的整個過程。書中的內容以實際專案驅動,不但講述了當前常用的Java技術,還加入了開源元件,讓人印象深刻。 ——趙偉,阿里軟體工程師 在華為工作的這段日子裡,因為專案採用了敏捷開發流程,以至於每個環節都需要快速高效。如果本書能早點面世,肯定會為我的工作提供很多的幫助。本書不但講解了高深的Java技術,還涵蓋了專案管理、專案運維兩方面的內容。通過閱讀本書,我