![]() ![]() |
Spring Boot開(kāi)發(fā)實(shí)戰(zhàn)-微課視頻版 ![]()
本書(shū)先逐步介紹Spring Boot開(kāi)發(fā)的基礎(chǔ)知識(shí);包括Spring Boot的簡(jiǎn)介、開(kāi)發(fā)起步、相關(guān)注解介紹和Web應(yīng)用開(kāi)發(fā)、數(shù)據(jù)庫(kù)訪問(wèn)、數(shù)據(jù)庫(kù)訪問(wèn)、Web服務(wù)開(kāi)發(fā)、數(shù)據(jù)處理、文件應(yīng)用、WebFlux開(kāi)發(fā)以及示例代碼。然后結(jié)合一個(gè)簡(jiǎn)單案例演示了Spring Boot開(kāi)發(fā)的全過(guò)程。本書(shū)內(nèi)容由淺入深,結(jié)合示例介紹各個(gè)知識(shí)點(diǎn),按照開(kāi)發(fā)步驟的方式組織內(nèi)容;可以幫助讀者更好地理解、掌握Spring Boot開(kāi)發(fā)技術(shù)。
本書(shū)內(nèi)容通俗易懂,適合Spring Boot開(kāi)發(fā)的初學(xué)者(特別是在校學(xué)生)、Web應(yīng)用開(kāi)發(fā)者和企業(yè)級(jí)應(yīng)用開(kāi)發(fā)愛(ài)好者等讀者;可以作為大學(xué)課程的教學(xué)用教材、自學(xué)的入門(mén)讀物、開(kāi)發(fā)過(guò)程的參考書(shū)。
本書(shū)以零基礎(chǔ)為出發(fā)點(diǎn),與大量實(shí)戰(zhàn)開(kāi)發(fā)案例、完整項(xiàng)目案例相結(jié)合,配以360分鐘視頻講解,涵蓋Spring Boot開(kāi)發(fā)的基礎(chǔ)知識(shí)與*知識(shí)點(diǎn);包括Spring Boot的簡(jiǎn)介、開(kāi)發(fā)起步、相關(guān)注解介紹和Web應(yīng)用開(kāi)發(fā)、數(shù)據(jù)庫(kù)訪問(wèn)、數(shù)據(jù)庫(kù)訪問(wèn)、Web服務(wù)開(kāi)發(fā)、數(shù)據(jù)處理、文件應(yīng)用、WebFlux開(kāi)發(fā)以及示例代碼等,適合Spring Boot開(kāi)發(fā)的初學(xué)者(特別是在校學(xué)生)、Web應(yīng)用開(kāi)發(fā)者和企業(yè)級(jí)應(yīng)用開(kāi)發(fā)愛(ài)好者等讀者;可以作為大學(xué)課程的教學(xué)用教材、自學(xué)的入門(mén)讀物、開(kāi)發(fā)過(guò)程的參考書(shū)。
前言
Spring以簡(jiǎn)化企業(yè)級(jí)應(yīng)用開(kāi)發(fā)為己任。無(wú)論是Web應(yīng)用開(kāi)發(fā)、數(shù)據(jù)庫(kù)訪問(wèn)還是當(dāng)前的大數(shù)據(jù)處理、分布式應(yīng)用集成,都能看到Spring的身影。然而,一轉(zhuǎn)眼,作為EJB顛覆者的Spring也從最初的輕量級(jí)工具變成了龐然大物。而Spring Boot由于能極大地簡(jiǎn)化配置,并且能和當(dāng)下流行的微服務(wù)架構(gòu)契合,因此一出現(xiàn)便受到了大家的追捧。 Spring Boot在Java應(yīng)用開(kāi)發(fā)領(lǐng)域快速興起,其原因除了它具有約定大于配置、采用更簡(jiǎn)潔的配置方式來(lái)替代XML等特點(diǎn)外,還有一個(gè)重要原因是用Spring Boot來(lái)開(kāi)發(fā)時(shí)不需要同時(shí)面對(duì)多個(gè)框架(如Struts2、Spring和Spring MVC、Hinernate或MyBatis)和不同的視圖顯示技術(shù)(如JSP、Servlet等)。 不同框架之間的聯(lián)系、整合問(wèn)題以及由此帶來(lái)的更加復(fù)雜的配置問(wèn)題(特別是利用XML進(jìn)行配置時(shí))是Spring學(xué)習(xí)者在學(xué)習(xí)時(shí)(特別是入門(mén)階段)需要面對(duì)的一個(gè)重要難題。而Spring Boot較好地封裝了相關(guān)工具和框架(如Tomcat、Hibernate、MySQL驅(qū)動(dòng)包等),可以開(kāi)箱即用這些工具和框架,使得Spring Boot開(kāi)發(fā)比較簡(jiǎn)單。 但是,軟件開(kāi)發(fā)領(lǐng)域沒(méi)有銀彈。Spring Boot全面封裝、開(kāi)箱即用使得開(kāi)發(fā)變得更加快速、透明、高效的同時(shí),對(duì)于初學(xué)者而言,Spring Boot開(kāi)發(fā)時(shí)的依賴(lài)管理和配置信息設(shè)置問(wèn)題是需要面對(duì)的一個(gè)挑戰(zhàn)。好在開(kāi)發(fā)工具(如Spring Tool Suite、IntelliJ IDEA)以及幫助文檔可以有效地幫助Spring Boot初學(xué)者降低學(xué)習(xí)難度。 另外,Spring Boot的應(yīng)用比較多,這使得Spring Boot的內(nèi)容略顯龐雜。而且,Spring Boot還在快速地更新,這會(huì)導(dǎo)致本書(shū)介紹的一些知識(shí)點(diǎn)在新版本中可能會(huì)有更新,于是需要讀者在開(kāi)發(fā)時(shí)參考官方文檔進(jìn)行知識(shí)更新。這些因素也增加了Spring Boot的學(xué)習(xí)難度。 為了幫助讀者更好地掌握Spring Boot開(kāi)發(fā)技術(shù),本書(shū)按照開(kāi)發(fā)步驟組織各章節(jié)的內(nèi)容,循序漸進(jìn)地介紹Spring Boot的開(kāi)發(fā)知識(shí)和示例代碼。為了幫助讀者更好地安排學(xué)習(xí)時(shí)間和幫助教師更好地安排授課,在下表中給出了各章的建議學(xué)時(shí)(建議學(xué)時(shí)分為建議理論學(xué)時(shí)和建議實(shí)踐學(xué)時(shí))。 章 內(nèi) 容 建議理論學(xué)時(shí) 建議實(shí)踐學(xué)時(shí) 第1章 Spring Boot簡(jiǎn)介 2 0 第2章 Spring Boot開(kāi)發(fā)起步 2 2 第3章 Spring Boot的相關(guān)注解 3 0 第4章 Spring Boot的Web應(yīng)用開(kāi)發(fā) 5 3 第5章 Spring Boot的數(shù)據(jù)庫(kù)訪問(wèn) 5 3 第6章 Spring Boot的Web服務(wù)開(kāi)發(fā) 5 3 第7章 Spring Boot的數(shù)據(jù)處理 4 2 第8章 Spring Boot的文件應(yīng)用 4 2 第9章 Spring Boot的WebFlux開(kāi)發(fā) 4 3 第10章 Spring Boot開(kāi)發(fā)案例 2 2 合計(jì)學(xué)時(shí) 36 20 在開(kāi)設(shè)Spring Boot開(kāi)發(fā)的相關(guān)課程時(shí)可以根據(jù)總學(xué)時(shí)、學(xué)生基礎(chǔ)和教學(xué)目標(biāo)等情況調(diào)整各章的學(xué)時(shí)。學(xué)習(xí)者也可以有選擇地閱讀各章節(jié)內(nèi)容并安排好學(xué)時(shí)。 為便于教學(xué),本書(shū)有教學(xué)視頻、源代碼、課件等配套資源。 。1)獲取教學(xué)視頻方式:讀者可以先掃描本書(shū)封底的文泉云盤(pán)防盜碼,再掃描書(shū)中相應(yīng)的視頻二維碼,觀看教學(xué)視頻。 。2)獲取源代碼及參考答案方式:先掃描本書(shū)封底的文泉云盤(pán)防盜碼,再掃描下方二維碼,即可獲取。 。3)其他配套資源可以掃描本書(shū)封底的課件二維碼下載。 由于時(shí)間短,加上編者水平有限,書(shū)中難免有疏漏之處,敬請(qǐng)讀者朋友批評(píng)指正。 編 者 2019年1月
吳勝,副教授,在軟件工程、電子商務(wù)等方面有豐富的教學(xué)經(jīng)驗(yàn),曾出版《人工智能基礎(chǔ)與應(yīng)用》《微信小程序開(kāi)發(fā)基礎(chǔ)》。
目錄
第1章 Spring Boot簡(jiǎn)介 1 1.1 Spring Boot的發(fā)展背景 1 1.1.1 Spring的發(fā)展 1 1.1.2 Spring的生態(tài)圈 2 1.1.3 Spring Boot的發(fā)展 3 1.2 Spring Boot的特征 4 1.2.1 Spring Boot的特點(diǎn) 4 1.2.2 Spring Boot 2的新特性 4 1.2.3 Spring Boot 2的核心模塊 5 1.3 Spring Boot的工作機(jī)制 7 1.3.1 Spring Boot應(yīng)用啟動(dòng)入口類(lèi)的分析 7 1.3.2 Spring Boot 2的幕后工作 8 1.3.3 SpringApplication的執(zhí)行流程 8 1.3.4 Spring Boot應(yīng)用啟動(dòng)時(shí)控制臺(tái)輸出信息 9 習(xí)題1 9 第2章 Spring Boot開(kāi)發(fā)起步 10 2.1 配置開(kāi)發(fā)環(huán)境 10 2.1.1 安裝JDK 10 2.1.2 安裝IntelliJ IDEA 11 2.1.3 安裝Spring Tool Suite 11 2.2 創(chuàng)建項(xiàng)目 13 2.2.1 利用IDEA創(chuàng)建項(xiàng)目 13 2.2.2 利用STS創(chuàng)建項(xiàng)目 16 2.3 實(shí)現(xiàn)Hello World的Web應(yīng)用 17 2.3.1 用IDEA實(shí)現(xiàn)Hello World的Web應(yīng)用 17 2.3.2 用STS實(shí)現(xiàn)Hello World的Web應(yīng)用 19 2.4 以Hello World應(yīng)用為例說(shuō)明項(xiàng)目屬性配置 19 2.4.1 配置項(xiàng)目?jī)?nèi)置屬性 19 2.4.2 自定義屬性設(shè)置 20 2.4.3 利用自定義配置類(lèi)進(jìn)行屬性設(shè)置 21 2.5 Spring Boot開(kāi)發(fā)的一般步驟 23 2.5.1 軟件生命周期 23 2.5.2 Spring Boot開(kāi)發(fā)步驟 24 習(xí)題2 24 第3章 Spring Boot的相關(guān)注解 26 3.1 Java注解 26 3.1.1 Java注解的介紹 26 3.1.2 Java的元注解 27 3.1.3 Java預(yù)置的基本注解 30 3.2 Spring注解及注解注入 31 3.2.1 Spring基礎(chǔ)注解 31 3.2.2 Spring常見(jiàn)注解 31 3.2.3 Spring的注解注入 35 3.3 Spring Boot的注解 36 3.3.1 Spring Boot基礎(chǔ)注解 36 3.3.2 JPA注解 37 3.3.3 異常處理注解 38 3.3.4 注解配置解析和使用環(huán)境 38 習(xí)題3 39 第4章 Spring Boot的Web應(yīng)用開(kāi)發(fā) 40 4.1 實(shí)現(xiàn)靜態(tài)Web頁(yè)面 40 4.1.1 創(chuàng)建類(lèi)GreetingController 40 4.1.2 創(chuàng)建文件index.html 41 4.1.3 運(yùn)行程序 41 4.2 實(shí)現(xiàn)基于Thymeleaf的Web應(yīng)用 42 4.2.1 添加依賴(lài) 42 4.2.2 修改類(lèi)GreetingController 42 4.2.3 創(chuàng)建文件hi.html 43 4.2.4 運(yùn)行程序 43 4.3 Thymeleaf的語(yǔ)法與使用 44 4.3.1 Thymeleaf基礎(chǔ)知識(shí) 44 4.3.2 Thymeleaf的標(biāo)準(zhǔn)表達(dá)式 44 4.3.3 Thymeleaf的表達(dá)式對(duì)象 45 4.3.4 Thymeleaf設(shè)置屬性 46 4.3.5 Thymeleaf的迭代和條件語(yǔ)句 48 4.3.6 Thymeleaf模板片段的定義和引用 49 4.4 實(shí)現(xiàn)基于Freemarker的Web應(yīng)用 50 4.4.1 添加依賴(lài) 50 4.4.2 創(chuàng)建類(lèi)TemplateController 50 4.4.3 創(chuàng)建文件helloFtl.ftl 50 4.4.4 運(yùn)行程序 51 4.5 Spring Boot對(duì)Ajax的應(yīng)用 51 4.5.1 創(chuàng)建類(lèi)HelloWorldAjaxController 51 4.5.2 創(chuàng)建文件index.html 52 4.5.3 運(yùn)行程序 52 4.6 Spring Boot實(shí)現(xiàn)RESTful風(fēng)格Web應(yīng)用 53 4.6.1 創(chuàng)建類(lèi)BlogController 53 4.6.2 創(chuàng)建文件index.html 54 4.6.3 創(chuàng)建文件blog.html 54 4.6.4 創(chuàng)建文件query.html 55 4.6.5 運(yùn)行程序 55 4.7 帶Bootstrap和jQuery的Web應(yīng)用 56 4.7.1 添加依賴(lài) 56 4.7.2 創(chuàng)建類(lèi)Person 56 4.7.3 創(chuàng)建類(lèi)BJController 57 4.7.4 添加輔助文件 58 4.7.5 創(chuàng)建文件index.html 58 4.7.6 運(yùn)行程序 60 4.8 使用Servlet、過(guò)濾器、監(jiān)聽(tīng)器和攔截器 60 4.8.1 創(chuàng)建類(lèi)MyServlet1 61 4.8.2 修改入口類(lèi)1 62 4.8.3 運(yùn)行程序1 62 4.8.4 創(chuàng)建類(lèi)MyServlet2 62 4.8.5 修改入口類(lèi)2 63 4.8.6 運(yùn)行程序2 64 4.8.7 創(chuàng)建類(lèi)MyFilter 64 4.8.8 創(chuàng)建類(lèi)MyServletContextListener 65 4.8.9 創(chuàng)建類(lèi)MyHttpSessionListener 65 4.8.10 運(yùn)行程序3 65 4.8.11 創(chuàng)建類(lèi)MyInterceptor1 66 4.8.12 創(chuàng)建類(lèi)MyInterceptor2 67 4.8.13 創(chuàng)建類(lèi)MyWebAppConfigurer 67 4.8.14 運(yùn)行程序4 68 習(xí)題4 68 第5章 Spring Boot的數(shù)據(jù)庫(kù)訪問(wèn) 70 5.1 使用JDBC訪問(wèn)H2數(shù)據(jù)庫(kù) 71 5.1.1 添加依賴(lài) 71 5.1.2 創(chuàng)建類(lèi)Customer 71 5.1.3 修改入口類(lèi) 72 5.1.4 修改配置文件application.properties 73 5.1.5 運(yùn)行程序 74 5.2 使用Spring Data JPA訪問(wèn)H2數(shù)據(jù)庫(kù) 75 5.2.1 添加依賴(lài) 75 5.2.2 創(chuàng)建類(lèi)User 76 5.2.3 創(chuàng)建接口UserRepository 76 5.2.4 修改入口類(lèi) 77 5.2.5 修改配置文件application.properties 78 5.2.6 運(yùn)行程序 78 5.2.7 程序擴(kuò)展 79 5.3 使用Spring Data JPA和RESTful訪問(wèn)H2數(shù)據(jù)庫(kù) 80 5.3.1 添加依賴(lài) 80 5.3.2 創(chuàng)建類(lèi)Person 80 5.3.3 創(chuàng)建接口PersonRepository 81 5.3.4 修改配置文件application.properties 82 5.3.5 啟動(dòng)程序并進(jìn)行REST服務(wù)測(cè)試 82 5.4 使用Spring Data JPA訪問(wèn)MySQL數(shù)據(jù)庫(kù) 84 5.4.1 添加依賴(lài) 84 5.4.2 創(chuàng)建類(lèi)User和接口UserRepository 85 5.4.3 修改配置文件和入口類(lèi) 85 5.4.4 運(yùn)行程序 86 5.4.5 程序擴(kuò)展 86 5.5 訪問(wèn)MongoDB數(shù)據(jù)庫(kù) 88 5.5.1 添加依賴(lài) 88 5.5.2 創(chuàng)建類(lèi)Person 88 5.5.3 創(chuàng)建接口PersonRepository 89 5.5.4 修改入口類(lèi) 90 5.5.5 運(yùn)行程序 91 5.5.6 程序擴(kuò)展 92 5.5.7 使用REST方法訪問(wèn)MongoDB 93 5.6 訪問(wèn)Neo4j數(shù)據(jù)庫(kù) 95 5.6.1 添加依賴(lài) 95 5.6.2 創(chuàng)建類(lèi)Actor 95 5.6.3 創(chuàng)建接口ActorRepository 97 5.6.4 修改配置文件application.properties 97 5.6.5 修改入口類(lèi) 97 5.6.6 運(yùn)行程序 98 5.6.7 利用REST方法訪問(wèn)Neo4j 99 5.7 訪問(wèn)數(shù)據(jù)庫(kù)完整示例 103 5.7.1 添加依賴(lài) 103 5.7.2 創(chuàng)建類(lèi)Book 103 5.7.3 創(chuàng)建接口BookDao 104 5.7.4 修改配置文件application.properties 104 5.7.5 創(chuàng)建類(lèi)BookController 105 5.7.6 創(chuàng)建文件bookAdd.html 107 5.7.7 創(chuàng)建文件bookList.html 108 5.7.8 創(chuàng)建文件bookUpdate.html 108 5.7.9 運(yùn)行程序 109 習(xí)題5 112 第6章 Spring Boot的Web服務(wù)開(kāi)發(fā) 113 6.1 基于Jersey實(shí)現(xiàn)RESTful風(fēng)格Web服務(wù) 113 6.1.1 添加依賴(lài) 113 6.1.2 創(chuàng)建類(lèi)Constant 114 6.1.3 創(chuàng)建類(lèi)JerseyController 114 6.1.4 創(chuàng)建類(lèi)JerseyConfig 115 6.1.5 修改入口類(lèi) 116 6.1.6 運(yùn)行程序 116 6.1.7 補(bǔ)充說(shuō)明 117 6.2 使用RESTful風(fēng)格Web服務(wù) 118 6.2.1 網(wǎng)上已有Web服務(wù)random的說(shuō)明 118 6.2.2 創(chuàng)建類(lèi)Quote 118 6.2.3 創(chuàng)建類(lèi)Value 119 6.2.4 修改入口類(lèi) 120 6.2.5 運(yùn)行程序 121 6.3 使用帶AngularJS的RESTful風(fēng)格Web服務(wù) 121 6.3.1 添加依賴(lài)和輔助文件 121 6.3.2 創(chuàng)建文件ajs.html 121 6.3.3 運(yùn)行程序 122 6.4 基于Actuator實(shí)現(xiàn)RESTful風(fēng)格Web服務(wù) 123 6.4.1 添加依賴(lài) 123 6.4.2 創(chuàng)建類(lèi)Greeting 123 6.4.3 創(chuàng)建類(lèi)GreetingController 124 6.4.4 修改配置文件application.properties 124 6.4.5 運(yùn)行程序 124 6.5 實(shí)現(xiàn)跨域資源共享的RESTful風(fēng)格Web服務(wù) 125 6.5.1 添加依賴(lài) 125 6.5.2 創(chuàng)建類(lèi)CORSConfiguration 125 6.5.3 創(chuàng)建類(lèi)ApiController 126 6.5.4 創(chuàng)建文件CORSjs.html 126 6.5.5 運(yùn)行程序 127 6.6 實(shí)現(xiàn)超媒體驅(qū)動(dòng)的RESTful風(fēng)格Web服務(wù) 128 6.6.1 添加依賴(lài) 128 6.6.2 創(chuàng)建類(lèi)Greet 129 6.6.3 創(chuàng)建類(lèi)GreetController 129 6.6.4 運(yùn)行程序 130 6.7 整合CXF的Web服務(wù)開(kāi)發(fā) 130 6.7.1 修改文件pom.xml 131 6.7.2 創(chuàng)建類(lèi)User 132 6.7.3 創(chuàng)建接口UserService 133 6.7.4 創(chuàng)建類(lèi)UserServiceImpl 134 6.7.5 創(chuàng)建類(lèi)TestConfig 135 6.7.6 運(yùn)行程序 135 6.7.7 創(chuàng)建類(lèi)Client并運(yùn)行程序 136 習(xí)題6 137 第7章 Spring Boot的數(shù)據(jù)處理 138 7.1 聲明式事務(wù) 138 7.1.1 添加依賴(lài) 138 7.1.2 創(chuàng)建類(lèi)Account 139 7.1.3 創(chuàng)建接口AccountDao 140 7.1.4 創(chuàng)建接口AccountService 140 7.1.5 創(chuàng)建類(lèi)AccountController 140 7.1.6 創(chuàng)建配置文件application.yml 141 7.1.7 創(chuàng)建類(lèi)AccountServiceImpl 141 7.1.8 運(yùn)行程序 142 7.2 數(shù)據(jù)緩存 143 7.2.1 添加依賴(lài) 144 7.2.2 創(chuàng)建類(lèi)DemoInfo 144 7.2.3 創(chuàng)建接口DemoInfoRepository 145 7.2.4 創(chuàng)建接口DemoInfoService 146 7.2.5 創(chuàng)建類(lèi)DemoInfoServiceImpl 146 7.2.6 創(chuàng)建類(lèi)DemoInfoController 147 7.2.7 創(chuàng)建配置文件后運(yùn)行程序 148 7.3 使用Druid 149 7.3.1 添加依賴(lài) 149 7.3.2 創(chuàng)建類(lèi)DruidStatViewServlet 150 7.3.3 創(chuàng)建類(lèi)DruidStatFilter 151 7.3.4 修改入口類(lèi) 151 7.3.5 運(yùn)行程序 151 7.3.6 擴(kuò)展程序并運(yùn)行程序 152 7.4 使用表單驗(yàn)證 154 7.4.1 添加依賴(lài) 154 7.4.2 創(chuàng)建類(lèi)Student 155 7.4.3 創(chuàng)建接口StudentDao 156 7.4.4 創(chuàng)建接口StudentService 156 7.4.5 創(chuàng)建類(lèi)StudentServiceImpl 156 7.4.6 創(chuàng)建類(lèi)StudentController 157 7.4.7 創(chuàng)建文件studentAdd.html 157 7.4.8 創(chuàng)建配置文件并運(yùn)行程序 158 7.5 整合MyBatis訪問(wèn)數(shù)據(jù)庫(kù) 159 7.5.1 添加依賴(lài) 159 7.5.2 創(chuàng)建類(lèi)City 160 7.5.3 創(chuàng)建接口CityDao 161 7.5.4 創(chuàng)建接口CityService 161 7.5.5 創(chuàng)建類(lèi)CityServiceImpl 161 7.5.6 創(chuàng)建類(lèi)CityController 162 7.5.7 修改配置文件application.properties 162 7.5.8 運(yùn)行程序 163 7.6 整合Spring Batch和Quartz 163 7.6.1 添加依賴(lài) 163 7.6.2 創(chuàng)建類(lèi)MyTaskOne 164 7.6.3 創(chuàng)建類(lèi)MyTaskTwo 164 7.6.4 創(chuàng)建類(lèi)BatchConfig 165 7.6.5 修改入口類(lèi) 166 7.6.6 運(yùn)行程序 167 7.6.7 增加依賴(lài) 167 7.6.8 修改類(lèi)BatchConfig 167 7.6.9 創(chuàng)建類(lèi)CustomQuartzJob 168 7.6.10 創(chuàng)建類(lèi)QuartzConfig 170 7.6.11 創(chuàng)建文件quartz.properties和application.properties 172 7.6.12 修改入口類(lèi) 173 7.6.13 運(yùn)行程序 173 習(xí)題7 174 第8章 Spring Boot的文件應(yīng)用 175 8.1 文件上傳 175 8.1.1 添加依賴(lài) 175 8.1.2 創(chuàng)建類(lèi)FileUploadController 176 8.1.3 創(chuàng)建文件file.html 177 8.1.4 創(chuàng)建文件multifile.html 178 8.1.5 運(yùn)行程序 178 8.1.6 擴(kuò)展程序 179 8.2 文件下載 180 8.2.1 添加依賴(lài) 180 8.2.2 創(chuàng)建類(lèi)FileDownloadController 180 8.2.3 創(chuàng)建文件downloadfile.html 182 8.2.4 運(yùn)行程序 182 8.3 圖片文件上傳和顯示 182 8.3.1 添加依賴(lài) 182 8.3.2 創(chuàng)建類(lèi)User 183 8.3.3 創(chuàng)建接口UserRepository 184 8.3.4 創(chuàng)建類(lèi)MyWebConfig 184 8.3.5 創(chuàng)建類(lèi)UserPictureController 185 8.3.6 創(chuàng)建文件zhuce.html 186 8.3.7 創(chuàng)建文件permanager.html 186 8.3.8 創(chuàng)建配置文件application.yml 187 8.3.9 創(chuàng)建目錄并運(yùn)行程序 187 8.4 訪問(wèn)HDFS 188 8.4.1 添加依賴(lài) 188 8.4.2 修改入口類(lèi) 189 8.4.3 運(yùn)行程序 189 8.4.4 簡(jiǎn)化程序 190 8.5 用Elasticsearch實(shí)現(xiàn)全文搜索 190 8.5.1 安裝Elasticsearch并添加依賴(lài) 190 8.5.2 創(chuàng)建類(lèi)EsBlog 191 8.5.3 創(chuàng)建接口EsBlogRepository 192 8.5.4 創(chuàng)建類(lèi)EsBlogRepositoryTest 192 8.5.5 修改配置文件application.properties 194 8.5.6 運(yùn)行程序(1) 194 8.5.7 創(chuàng)建類(lèi)BlogController 194 8.5.8 運(yùn)行程序(2) 195 8.6 實(shí)現(xiàn)郵件發(fā)送 196 8.6.1 登錄郵箱并開(kāi)啟授權(quán)碼 196 8.6.2 添加依賴(lài) 196 8.6.3 創(chuàng)建接口EmailService 197 8.6.4 創(chuàng)建類(lèi)EmailServiceImp 198 8.6.5 創(chuàng)建類(lèi)DemoApplicationTests 200 8.6.6 修改配置文件application.properties 201 8.6.7 創(chuàng)建文件email.html 202 8.6.8 運(yùn)行程序 202 8.7 用REST Docs創(chuàng)建API文檔 203 8.7.1 添加依賴(lài) 203 8.7.2 創(chuàng)建類(lèi)HomeController 204 8.7.3 運(yùn)行程序 204 8.7.4 創(chuàng)建類(lèi)WebLayerTest 205 8.7.5 創(chuàng)建文件index.adoc 206 8.7.6 添加插件 206 8.7.7 利用Maven的package命令生成文件 207 習(xí)題8 208 第9章 Spring Boot 的WebFlux開(kāi)發(fā) 209 9.1 WebFlux及其編程模型 209 9.1.1 WebFlux 209 9.1.2 Spring Boot的WebFlux編程模型 210 9.2 WebFlux入門(mén)應(yīng)用 211 9.2.1 添加依賴(lài) 211 9.2.2 創(chuàng)建類(lèi)CityHandler 212 9.2.3 創(chuàng)建類(lèi)CityRouter 212 9.2.4 運(yùn)行程序 213 9.3 實(shí)現(xiàn)基于WebFlux的RESTful服務(wù) 213 9.3.1 添加依賴(lài) 213 9.3.2 創(chuàng)建類(lèi)User 213 9.3.3 創(chuàng)建類(lèi)UserController 214 9.3.4 運(yùn)行程序 216 9.4 基于WebFlux訪問(wèn)MongoDB數(shù)據(jù)庫(kù) 218 9.4.1 添加依賴(lài) 218 9.4.2 安裝并啟動(dòng)MongoDB數(shù)據(jù)庫(kù) 218 9.4.3 創(chuàng)建類(lèi)Person 219 9.4.4 創(chuàng)建接口PersonRepository 219 9.4.5 創(chuàng)建類(lèi)PersonController 220 9.4.6 修改配置文件application.properties 220 9.4.7 運(yùn)行程序 221 9.5 基于WebFlux使用Thymeleaf和MongoDB 221 9.5.1 添加依賴(lài) 221 9.5.2 創(chuàng)建類(lèi)City 222 9.5.3 創(chuàng)建接口CityRepository 223 9.5.4 創(chuàng)建類(lèi)CityHandler 223 9.5.5 創(chuàng)建類(lèi)CityController 224 9.5.6 創(chuàng)建文件cityList.html 226 9.5.7 創(chuàng)建文件city.html 226 9.5.8 運(yùn)行程序 227 9.6 基于WebFlux訪問(wèn)Redis數(shù)據(jù)庫(kù) 228 9.6.1 添加依賴(lài) 228 9.6.2 創(chuàng)建類(lèi)Coffee 229 9.6.3 創(chuàng)建類(lèi)CoffeeConfiguration 229 9.6.4 創(chuàng)建類(lèi)CoffeeLoader 230 9.6.5 運(yùn)行程序 231 9.6.6 創(chuàng)建類(lèi)City 231 9.6.7 創(chuàng)建類(lèi)CityWebFluxController 232 9.6.8 修改配置文件application.properties 233 9.6.9 運(yùn)行程序 233 9.6.10 創(chuàng)建類(lèi)CityWebFluxReactiveController 234 9.7 基于WebFlux使用WebSocket 235 9.7.1 添加依賴(lài) 235 9.7.2 創(chuàng)建類(lèi)EchoHandler 236 9.7.3 創(chuàng)建類(lèi)WebSocketConfiguration 236 9.7.4 創(chuàng)建類(lèi)WSClient 237 9.7.5 創(chuàng)建文件websocket-client.html 238 9.7.6 運(yùn)行程序 238 習(xí)題9 239 第10章 Spring Boot開(kāi)發(fā)案例 240 10.1 案例分析 240 10.1.1 主要界面 240 10.1.2 主要功能與數(shù)據(jù)庫(kù)介紹 243 10.2 案例實(shí)現(xiàn) 244 10.2.1 添加依賴(lài) 244 10.2.2 創(chuàng)建類(lèi)User、CourseType和Course 245 10.2.3 創(chuàng)建Service接口 249 10.2.4 創(chuàng)建Service接口實(shí)現(xiàn)類(lèi) 250 10.2.5 創(chuàng)建Mapper接口 253 10.2.6 創(chuàng)建類(lèi)WebLogAspect 254 10.2.7 創(chuàng)建類(lèi)CourseQueryHelper 255 10.2.8 創(chuàng)建控制器類(lèi) 256 10.2.9 修改入口類(lèi) 262 10.2.10 創(chuàng)建XML文件 263 10.2.11 創(chuàng)建HTML文件 266 10.2.12 修改和創(chuàng)建配置文件 283 10.2.13 創(chuàng)建CSS文件 284 10.2.14 配置輔助文件與運(yùn)行程序 287 習(xí)題10 287 參考文獻(xiàn) 288
你還可能感興趣
我要評(píng)論
|