1. 程式人生 > >java後端開發(三):開發框架解讀

java後端開發(三):開發框架解讀

前言

本篇講述後端開發中用到的主要框架,旨在瞭解框架的意義和種類

什麼是框架

我相信對於大部分開發人員來說,框架再熟悉不過了,但是要給未接觸過的人講明白恐怕是非常難的,本節的目的就是讓讀者對於框架有50%的認知,剩下的需要在實踐中體會。

框架與PPT

假設我們把PPT當作一個框架。好了,現在我們來製作一個精美的PPT。做過PPT的同學應該知道,PPT可以對每頁設定頁面模板。比如下圖首頁所示:
PPT頁面
我們填寫了主標題和副標題,然後就可以直接開始幻燈片放映了。電腦全屏顯示你剛才輸入的文字,點選還可以切換頁面,新增標記等等。
等等,我們到底做了什麼?我們僅僅填寫了十幾個文字,結果就可以幻燈片放映了,而且主副標題樣式還不一樣,而且還有其他一堆功能都可以在幻燈片放映中使用。神奇嗎?
你不會感到神奇,你只會感覺很正常啊。對,很正常,因為你每天都在用。為什麼說框架難以講述呢?就是因為框架在開發中經常用,根本不會感覺到神奇。好了,現在小結一下:
PPT看作框架,填寫文字的過程看作我們寫程式碼,然後幻燈片放映當作程式寫好後開始執行。這樣子,你能體會到框架的作用嗎?

框架

框架就如同上面的PPT一樣,它本身幫助我們定好了一系列的條條框框,以及通用的功能等。你看同樣是PPT2003,不同的人做出來的PPT居然都不一樣。框架也是如此,因為它把常用的方法功能等抽出來,設計成一整套的框框架架和主體結構,我們在基於這樣的框架程式碼開發時,只需要在他們的基礎上填充每個專案獨特的程式碼即可,二者一結合,一整個專案功能模組就完成了。

為什麼要用到框架

也就是講框架的優點有哪些。
這種如果要一條條說那真是太官方了。基於當前的網際網路時代背景,低成本高效方便的做好專案就是好的。而要達到這一目的,使用市面上認可的,大家都在用的框架就成為了不二之選。
框架剩下的有點就需要靠各位在開發中自行體會。

目前java後端開發有哪些框架

隨便網上一搜,就會看見什麼SSH,SSM,spring boot,spring cloud等等傻傻分不清。下面,就幫助你理清思緒。
我們在前幾篇文章中說過了,後端伺服器的主要功能概括起來就是:

接收外界的API請求,解析後去執行資料庫操作,最後將資料包裝好返回給呼叫者(當然,中間還包含其他業務邏輯)
所以,這句話中包含了三類框架的資訊,分別是:和資料操作有關的,和API請求響應有關的,和業務邏輯有關的,我們下面就這三類來講述。

和資料操作相關的

這類框架一般負責和資料庫進行連線,負責SQL的處理,以及將查詢到的資料對映成指定的java物件。這樣子的框架有:

  • mybatis:
  • hibernate
    具體就先不展開講了,現階段將效果不大。

和API處理相關的

這類框架一般負責根據不同的API請求來呼叫程式中不同的處理方法,負責將呼叫者傳入的資料對映成java物件,也負責處理程式返回給客戶端的響應資料格式等。這樣子的框架一般有:

  • struts:
  • spring mvc:

和業務邏輯相關的

這類框架主要用到了兩個特性(其實是一個),以此來簡化程式的複雜性,這裡先稍微提及一下,以後再做說明,他們是:控制反轉和依賴注入。總之呢,我們在程式中結合這類框架,寫出來的程式具有更好的維護性擴充套件性,也更加清晰簡潔。這類程式有:

  • spring:
  • guice

其他框架

針對不同的場景還有各種各樣的其他框架,希望你們能夠自己去主動學習瞭解。這裡就不講述了。比如 vert.x

整合

上面提到了三類框架,那麼怎麼將他們整合到程式中呢?每個框架本來就是基於java開發的,自然是面向物件的,那麼每個框架裡面肯定有各種各樣的類吧,按照官方文件,將實現某一功能需要的物件通過類 new 出來,就算是整合到你的程式裡了。我們可以利用 guice 這樣的框架,通過一些設計技巧,將其他兩種型別的框架整合進來,但是這樣子太麻煩了。
幸好,我們擁有 Spring Framework 簡稱 spring 。他幫助我們做了整合這一步了,所以你看不論是 ssh還是ssm,都有s,代表的就是 spring

我們選用的框架

我們選用的框架有:
* 資料層:mybatis
* API層:spring mvc
* 業務層:spring
* 外加重要的:spring boot
這裡說一下 spring boot ,其他三個你們都知道了。那 spring boot 是什麼呢?就是進一步簡化基於 spring 框架的專案的構建工具。boot本就是啟動的意思,用上 spring boot 進行java後臺開發,在spring的基礎上又省力了許多。
有人說 python 這類的開發web速度完爆java的,可以說他們沒感受過這一套框架的魅力。
好了,這些框架下面的系列繼續講述。