哈囉大家好,我是古古。
在前面的文章中,我們介紹了 Spring 框架中最重要的兩個特性:IoC 和 AOP,所以到目前為止,大家對於 Spring Boot 的基本用法,就不會那麼陌生了。
那麼從這篇文章開始,就會進入到下一個部分,也就是 Spring MVC 的介紹,Spring MVC 可以說是在 Spring Boot 中使用最頻繁的功能之一,所以我們就開始吧!
在我們正式介紹 Spring MVC 之前,我們可以先來回顧一下「前端」和「後端」之間的差別。
在現今的網站架構中,可以分成「前端」和「後端」兩部分:
在現今的網站架構中,可以分成「前端」和「後端」兩部分:
所以簡單來說,前端工程師就是去負責實作「這個網頁要長什麼樣子」,而後端工程師則是負責去處理「要在這個網頁上賣什麼東西」,所以前端工程師處理的是排版設計,而後端工程師處理的則是動態的數據。
不過我們平常所瀏覽的網頁,其實是前端和後端整合在一起的結果,所以前端除了設計網頁的排版之外,同時也需要去問後端:「這裡應該要顯示哪些商品?」,而後端在收到詢問之後,就會提供商品的數據給前端,告訴前端「這裡要呈現的商品數據是什麼」。
因此當前端拿到這些商品數據之後,前端就會將商品數據、以及網頁的排版設計結合在一起,最後再將結果呈現給使用者看。
所以我們平常所瀏覽的網頁,就是由 「前端的排版」 加上 「後端的數據」,所組合出來的成果。
而在這之中,要怎麼樣讓前端和後端之間能夠順暢溝通、傳遞商品的數據,就是 Spring MVC 所負責的範圍了。所以 Spring MVC 所負責的,就是解決「前端和後端之間的溝通問題」。
所以換句話說的話,在接下來的 Spring MVC 的部分中,我們所介紹的所有內容,就都是在講「要如何和前端進行溝通」。
大概了解了 Spring MVC 功能的用途之後,接著我們可以回頭來看一下 Spring MVC 的定義。
Spring MVC 的用途,就是「讓我們能夠在 Spring Boot 中,實作前後端之間的溝通」,這樣我們就可以透過 Spring MVC 的功能,在 Spring Boot 中創建一個 API 出來、或是去接住前端所傳過來的參數了!
其實在前面的文章中,我們就已經有使用到 Spring MVC 的功能了!
在
Day4 - 第一個 Spring Boot 程式
的那篇文章中,我們在 Spring Boot 程式裡面,有去創建了一個 MyController 出來。當時是告訴大家,只要我們運行起 Spring Boot 程式,然後在瀏覽器中輸入
http://localhost:8080/test
時,這樣 Spring Boot 就會去執行 MyController 中的 test()
方法。
因此我們在前面的文章中,就一直借用了這個方式,去練習前面的 IoC 和 AOP 的部分。
而我們之所以在瀏覽器中輸入
http://localhost:8080/test
,Spring Boot 就會去執行 MyController 中的 test()
方法,就是因為我們有在 MyController 中添加了 @RestController
和 @RequestMapping
這兩個註解,因此才能夠達到這個效果。
而這兩個註解 @RestController
和 @RequestMapping
,其實就是 Spring MVC 所提供的好用註解!
所以在後面的文章中,我們就會來介紹 Spring MVC 中的好用功能,也會來介紹 @RestController
和 @RequestMapping
這些註解,他們分別的用途又是什麼。
所以接下來的幾篇文章,就讓我們一起來探索 Spring MVC 的厲害之處吧!
這篇文章我們先回顧了前端和後端之間的區別,並且也介紹了 Spring MVC 的用途是什麼,先讓大家對 Spring MVC 有一個簡單的認識。
不過在我們正式進入 Spring MVC 的介紹之前,會需要大家先了解什麼是「前端和後端之間的溝通協議」,因此下一篇文章,我們就會先來介紹前後端溝通最基礎的部分,也就是 Http 協議,那我們就下一篇文章見啦!
補充:本文是擷取自我開設的線上課程 「Java 工程師必備!Spring Boot 零基礎入門」 的內容,如果你想了解更多的 Spring Boot 的用法,歡迎參考課程簡介 (輸入折扣碼「HH202504KU」即可享 85 折優惠)。