Spring Boot 學習筆記


 

0. 說明

  從本身的我的獨立博客 https://share23.github.io 中遷移與補充css

  原文連接:Spring Boot 學習筆記html

  說明:做爲基於大數據的餐飲推薦系統可視化部分的內容,與 基於大數據的餐飲推薦系統總結 一塊兒看能加深對總體項目的理解前端

 


 

1. Spring Boot 介紹

  1.1 Spring Boot 是什麼 & 能作什麼

  Spring Boot 是一個輕量級框架。java

  其設計的目的是用來簡化 Spring 應用的初始搭建和開發的過程,使開發者更方便、快捷地開發網站。git

 

  1.2 選擇 Spring Boot 的初衷 & 更新記錄

  // 2018.4.15github

  由於有個項目須要用一個頁面來顯示從 HBase 中讀取的數據web

  這只是一個想法spring

  未驗證其可行性segmentfault

 

  // 2018.4.23springboot

  已驗證其可行性

  現已實現從 HBase 中讀取的數據而後顯示在網頁中

  實現將其熱部署

 

  //2018.9.11

  完成博文遷移,並修改與補充部份內容

 


 

2. 實例解析

  2.1 需求分析

  須要在 Web 界面動態展現 HBase 中的數據

  HBase 中的數據是會發送變化的,因此項目須要熱部署,並對頁面動態刷新。

 

  2.2 環境說明

  開發工具: Intellij IDEA

  Java版本: 1.8.0_161

 

  2.3 項目目錄結構

├── src
│   ├── main
│   │   ├── java
│   │   │   ├── foodrecommender
│   │   │       ├── controller
│   │   │       │   └── RecController.java
│   │   │       ├── dao
│   │   │       │   └── FoodRecDAO.java
│   │   │       ├── domain
│   │   │       │   └── FoodRec.java
│   │   │       ├── utils
│   │   │       │   └── HBaseUtils.java
│   │   │       │            
│   │   │       └── FoodrecomenderApplication.java
│   │   │
│   │   └── resources
│   │       ├── static
│   │       │   ├── css
│   │       │   └── images
│   │       ├── templates
│   │       │   └── index.html
│   │       └── application.yml 
│   │
│   └── test             
│
├── pom.xml

 


 

3. 學習歷程

  3.1 運行第一個 Spring Boot 項目

  根據慕課網上的教程 2小時學會Spring Boot  解鎖怎麼在 IDEA 新建一個 Spring Boot 項目

  並寫一個簡易的 Hello Spring Boot 顯示在網頁中

 

  3.2 Spring Boot 集成 Thymeleaf

  通常都是先在 pom.xml 文件中添加 Thymeleaf 的依賴以下:

<!--Thymeleaf模板-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

  在 templates 目錄中新建 index.html

  (PS: 爲了顯示的效果,我直接放進一個作好佈局靜態的 html文件)

  採用 ModelAndView 在 RecController.java 中指定 index.html

  進行相關測試,能在頁面中看到效果。

 

  3.3 測試是否能從 HBase 中讀取數據

  寫一個 HBase 操做工具類 HBaseUtils.java

  驗證是否能從 HBase 中讀取數據

 

  3.4 規範代碼結構

  實體類 FoodRec.java

  數據訪問層 FoodRecDAO.java

 

  3.5 將從 HBase 中讀取的數據顯示在前端的 index.html 中

  參考  Spring Boot和Thymeleaf集成  中 ModelAndView 傳值的例子以下:

@RequestMapping(method = RequestMethod.GET)
public ModelAndView home(ModelAndView model) {
    model.getModel().put("firstName", "set param firstname in ModelAndView");
    model.getModel().put("lastName", "set param lastname in ModelAndView");
    model.setViewName("RequestParam");
    return model;
}

  參考連接以下:

  1. http://www.javashuo.com/article/p-vtehjyde-hg.html
  2. https://github.com/Terry-Shi/blog/wiki/Spring-Boot-thymeleaf#spring-boot%E5%92%8Cthymeleaf%E9%9B%86%E6%88%90
  3. https://segmentfault.com/a/1190000014352023

 

  3.6 實現熱部署

  因爲 HBase 中的數據是變化的,因此須要動態更新頁面

  而當前的網站是靜態的,只是在啓動的時候執行了一次

  參考

  springboot集成thymeleaf(不重啓刷新html)

  spring-boot 速成(2) devtools之熱部署及LiveReload

 

  他教程中最後那步針對的是 MAC 系統

  若是是 Windows 系統能夠參考第二個連接中的說明

  步驟爲 Keymap -> Other -> Maintenance

  我找到以後發現他的快捷鍵爲 Ctrl + Alt + Shift + /

 

  3.7 驗證熱部署

  在 HBase 中對數據作相關的覆蓋操做,發現網站頁面上的數據並無改變

  在手動刷新網頁後能獲得新的結果

  但這不能知足咱們的需求

  根據實際需求在網上找到這篇文章 網頁頁面 自動刷新的3種代碼

  採用其中最簡單的第一種方法,實現了頁面的自動刷新

 


 

4. 項目展現

  

 

  


 

5. 項目地址

  待上傳

 

 


 

6. 總結

  從 0 開始到獲得我想要的效果。

  一個小目標一個小目標的實現,期間經歷了屢次可行性驗證

  一開始有不少問題,都藉助搜索引擎解決了

  參照着 提問的智慧 中的一原則,也向別人請教了一些問題

  大多數都是本身解決的

  記錄下整個過程

  這就是我走過的路

相關文章
相關標籤/搜索