簡明易懂,將細節隱藏,面向新手樹立web開發概念——學完Java基礎語法,超快速上手springboot+mybatiJavaWeb開發

學習先生發表於2021-08-03

簡明易懂,將細節隱藏,面向新手樹立web開發概念

——學完Java基礎語法,超快速上手JavaWeb開發

Web本質(先忽視各種協議)

Web應用可以理解為瀏覽器和伺服器之間的互動。

我們可以看一個簡單的例子

1.我們在瀏覽器上方輸入www.baidu.com並回車。

2.此時我們的瀏覽器便對百度的伺服器傳送資料(請求)。

3.百度的伺服器收到並分析了我們的請求後,對我們的瀏覽器傳送資料(響應,裡面就有我們拿到的百度主頁的這個頁面的資料)

4.經過我們瀏覽器的處理,我們便看到了如下的頁面:

![](https://img2020.cnblogs.com/blog/2466412/202108/2466412-20210803174453357-879349028.png

這就是B/S架構的一個web簡單互動過程。

瀏覽器——請求——>伺服器

瀏覽器<——響應——伺服器

它們之間的交流通過某種資料結構(例如json)進行溝通。

Web開發,就是我們編寫一個程式執行在伺服器上,這個程式可以拿到來自瀏覽器的資料進行處理,並對瀏覽器傳送資料。

簡述一個登入邏輯(同上)

1.使用者輸入登入資訊(賬號密碼),瀏覽器傳送這個登入資訊的資料到伺服器。

2.伺服器上的程式拿到了這個登入資訊,同時這個程式根據登入資訊在資料庫中進行查詢。

3.查詢到資料庫儲存的相關的登入資訊,進行比對判斷,並將登入結果的正確與否以及處理返回到瀏覽器中。

除了瀏覽器,還可以是手機app或者其他什麼,本質上都是通過網路,在你這一端和瀏覽器的資料互動。

簡單的小系統開發理解

各類簡單的小系統開發,可以理解為操作程式對資料庫的增刪改查(CRUD)。

老樣子舉個簡單例子:註冊

1.程式獲得使用者的註冊資訊,然後連線資料庫,並將註冊資訊儲存進資料庫,這就是程式層面上的註冊邏輯。

如果我們結合前面講的web本質,就會獲得這一整條完整的鏈路。

1.我們在瀏覽器註冊頁面上,輸入註冊資訊。

2.註冊資訊被髮送到伺服器。

3.伺服器上執行的程式拿到資料,存入資料庫。

這裡就涉及到了資料庫的增 操作

結合資料庫中的各類操作,與程式的一些邏輯處理,就可以完成實現開發一個Web系統。

最簡單快速上手瞭解springboot+mybatis的web專案

一個進階一點點的例子(普通的Web業務系統的資料流動)

Java+springboot+Mybatis一個簡單的圖書管理業務

首先看一下,一個springboot中重要的部分有以下這些層

我們嘗試實現一個查詢圖書的業務

1.[前端]

前端(使用者直接看到的那一層),拿到資料(要查詢的圖書的id),進行包裝傳送到後端(伺服器的程式)

2.[後端.controller]

此時後端啟動的springboot程式中的controller層的程式,對相應的路由(比如xxxx.com/login就是一條路由)進行監聽(可以理解為這個程式一直關注,程式碼中的這些路由,有沒有人對這些路由傳送信資料),對應的路由收到了瀏覽器傳送來的資料,就會執行對應的邏輯。

下圖例項程式就是controller層程式,這個路由的作用是:瀏覽器對伺服器xxxx.com/list/這個路由傳送一個id值,然後這個程式就會呼叫springboot專案中service層裡的方法findBookById(),並返回這個方法的結果到瀏覽器。

3.[後端.service]

我們的資料從controller層的針對查書的路由,傳入到service層的findBookById()方法。


該方法執行的內容是,將controller中來的id值再傳入到dao層的selectBookById方法,然後接收dao層返回的結果,進行處理,再返回到controller再到前端。

4.[後端.dao]

dao層就是和資料庫接觸關聯的一層,這裡先通俗介紹以下mybatis

mybatis就是一個持久層框架(為什麼叫持久層,因為資料在程式中是無法永久儲存的,程式結束記憶體釋放,程式裡的資料就丟失,如果我們將資料放入到資料庫中,它就實現了持久化),它把對資料庫的各種操作封裝起來,通過一些關聯的方式,讓我們可以在springboot程式的dao層呼叫各種增刪該查操作:

dao層就是對映了mybatis中的各種對資料庫的操作,然後通過dao層的方法對資料庫進行增刪改查。回到我們的小例子,此時資料從前端——>controller——>service——>dao層,然後我們的dao層再執行了selectBookById()呼叫了資料庫中的查詢方法,向上返回查詢結果。

圖中對映的方法就在上一張介紹mybatis的圖中有標註。

5.[後端.資料庫]

走到這裡我們就走到了最下面一層,資料庫查詢的結果便可以往上返回,一直到前端啦!

tips:這裡的資料在前後段之間是通過json資料格式傳輸。但是再程式內,返回的結果是由entity中寫好的Book類例項出來的物件來接受著的,

直到它從controller層到前端,才變為json格式的資料。

總結:

以上根據id查詢書本的小例子中,我們的資料是這麼走的:

要查的書籍的id從:前端——>controller——>service——>dao層——>資料庫

我們要拿到的查詢結果再從:資料庫——>dao層——service層——>controller層——>前端

看到這裡,你已經對web開發和相關框架即方法和設計思想有一個巨集觀的粗略的理解,甚至可以簡單的上手去閱讀並修改專案,接下來根據你的需求,去學習相應的知識能夠成為你的一大助力。

你可以通過看教程或閱讀別人的小型專案的原始碼結合文件閱讀,開始你的學習。個人的小建議是多敲多讀多思考感受,相信你很快就能熟練掌握,並再次進入到下一步的學習中。* 1.

相關文章