相关文章推荐
美好的一天,親愛的讀者!很高興認識你,即使這個浮誇的名字是我們研究第一次接觸 Spring Boot 開發的樸素話題的主要原因。我想分享我在 JavaRush 入口網站上完成實習介紹性作業的經歷,從一個完全普通的技術大學生的角度來展示自己的概述,他想要測試自己所積累的知識的強度。 征服春季靴 - 1 我絕不否認所附代碼或思維方法可能存在粗魯之處,我歡迎建設性的批評,因為正是有了“坎坷和碰傷”,才有可能向專業方向發展。而且,我根本不會假裝自己是解決給定條件的“萬能藥”,故意省略程式的各個片段,讓進入一個相對複雜的話題的關鍵重要性不至於對神經系統產生絲毫影響。確實,否認顯而易見的事實是魯莽的:這對我來說很難,直到某個時刻之前絕對沒有任何事情是清楚的。如果您在第一次執行任務時也有類似的感受,那麼“歡迎!” 讓我們在 Spring Boot 中編寫一個 Web 應用程序,使用實習入學考試的簡化類比,使用模板引擎 Thymeleaf query 查詢本地 MySQL 伺服器來過濾傳入的資訊數組。那麼就讓我們開始吧!

春季啟動。它是什麼動物以及如何烹飪?

簡而言之,它是 Pivotel 的一款優秀工具,可以在創建應用程式的過程中節省寶貴的時間,而無需直接連接第三方程式庫、編寫令人印象深刻的映射畫布和 servlet。 使用Spring Initializr 建構器就足夠了,它整合到 IntelliJ IDEA Ultimate Edition中(檔案 - 新建 - 專案... - Spring Initializr)或位於 start.spring.io Web 服務上,指定要包含的各種包優惠。
按照提出的技術規範,我們將使用紳士設定的標準,並使用 MySQL 資料庫建立一個簡單的 Web 應用程式:
  • WEB 是開發Web應用程式的主要元件,包括位於標準位址localhost:8080的本機Apache Tomcat伺服器和通用的 Spring MVC框架。
  • DevTools - 當在編譯的程式碼或範本中偵測到變更時,用於在熱 JVM 中快速重新啟動應用程式;此外,如果專案中包含所選引擎,它可以使 Thymeleaf 免於清除快取。
  • JPA 是一種使用資料庫所需的技術,它提供 Java 物件的物件關係映射,提供用於管理、保存和檢索實體的 API(在我們的例子中為 Hibernate )。
  • Thymeleaf(Mustache、AngularJS、Vaadin 等) - 用於應用程式視覺化的模板引擎;由於我對 html 原理相對熟悉,我選擇了 Thymeleaf,它將該語言推向了世界的基石。
  • MySQL - 連接 Java 資料庫連接驅動程式以對資料庫執行 SQL 查詢。
  • 在最終選擇元件並創建之後,我們得到了一個普通的 Web 應用程式架構,其中的目錄可供進一步填充。用於與視覺部分互動的片段,無論是 CSS 圖形樣式、標準 HTML 頁面或 JavaScript 功能,都應位於「resources」中,因此後端元件應放置在「java」中。我們還應該注意根範圍內的pom.xml文件,它儲存了專案結構和元件之間的依賴關係。如果你想用額外的套件進一步擴展功能或刪除不必要的東西,你應該 <dependencies></dependencies> 按照類似的方法在標籤之間進行操作。

    邁向美好未來的第一步

    接下來,出現了一個相當有趣且非常合乎邏輯的問題:「現在該怎麼辦?這將如何運作?該程式建立在模型-視圖-控制器的原則之上:它組織從連接的資料庫(模型)中讀取實體,並透過控制項(視圖)顯示在使用者介面中;組件之間的通訊以及根據傳輸的請求執行操作是透過控制器進行的。關鍵要素的創建可作為持續發展的參考點。為了避免滑坡,維護工作領域戰友的尊重,應將元件放置在適當的目錄中(例如將Controller檔案放置在「java」分支的controllers資料夾中),並小心保存工作場所秩序。

    本質是一個大機制中的一個小部分

    或者換句話說,我們的模型是根據問題中設定的條件。離開討論的主題,回到介紹性項目,我們可以自信地斷言,任務之間的差異很小,並在進一步審查中遵循平均概念。比方說,筆記本中的筆記包括:
  • 用於確定在一般流程中的位置的識別號碼;
  • 一定字數的簡訊;
  • 用戶將其添加到常規列表的日期;
  • 用於確定“完成或未完成”(“讀取或未讀取”)的布林變數。
  • 因此,讓我們在名為「entity」的目錄中建立一個 Note 類別並新增適當的欄位:
    另一個偏離討論主題的問題是為了從理論立場更好地理解正在發生的事情。Spring中組件之間的連接是 透過註解來 指定的-物件前面的特殊指針,每個註解在機制中扮演特定的角色,並以「@」符號開頭。@Entity 註解向 Spring Boot 指示後續類別資料屬於“實體”,@Id 和 @GenerateValue 將選定的欄位指定為標識符,並在處理資訊數組時自動產生迭代器。我故意省略添加標準的 Getter 和 Setter 以增加視覺格式的緊湊性。接下來,考慮到使用資料庫來儲存記錄,我們進入應用程式開發的下一步:我們將在「repository」目錄中建立 NoteRepository 接口,作為交換鏈中的連接元素,並繼承最適合進一步工作的儲存庫,指示要存取的儲存實體和整數迭代器。
    事實上,僅此而已。簡潔明了。現在 Spring Boot 將使用已建立的元件來組織與資料庫的互動。遺留儲存庫的類型相對較多,具有不同的行動潛力。JpaRepository處於階梯的最頂端,最有潛力,包括下面的CrudRepository和PageAndSortingRepository。我們不會再進一步偏離主題,因為一些微妙之處可以在 Pivotel 網站的技術文件中找到。現在,在應用程式端實作資料鏡像並指定通訊方式後,您需要注意在適當的外部環境「MySQL Workbench」中建立MySQL資料庫,該資料庫在官方開發人員的程式集中預先安裝在桌面平台上使用於建立本機伺服器的附加套件:
    接下來,點擊主視窗中目前本機伺服器的圖示後,按照環境的指示,根據實體的欄位(註)建立表格圖,並填入適當的資料。有必要單獨釐清MySQL方言的微妙之處,迫切需要重視才能順利達到預期的結果:
  • 沒有單獨的布林類型本身。任何請求處理動作都會將「true」或「false」分別轉換為位元值「1」或「0」;
  • 日期完全儲存在 Timestamp 類型中。如果您使用核心熟悉的日期,您將不得不將自己限制在日曆中的位置。
  • 最終完成準備步驟後,我們點擊工具列上的「閃電」圖標,指示「MySQL Workbench」將資料傳送到本機伺服器。現在,如果新增資訊正確完成,我們可以透過將目前資料庫配置新增至 application.properties (通常位於「resources」目錄中),自信地回到本機 IDE 繼續開發:
    最後使用註解將 Note 實體綁定到 MySQL。@Table 表示使用具有選定名稱和架構的表,@Column 表示變數屬於特定欄位。
     
    推荐文章