Java匹馬行天下之一頓操作猛如虎,框架作用知多少?
流行框架:
框架就是開發人員定義好的一套模板,程式設計師只需要往模板中新增響應的程式碼即可,填完程式碼,專案就完成了。所以框架存在的意義以及我們學習框架的目的就是想辦法能夠讓程式設計師快速的完成整個專案的開發。理解框架的思路可以看昨天寫的部落格《致Java程式設計師的一封信》,系統學習請看《學習目錄及學習資源獲取》下面我來對各大流行框架做個梗概:
Struts
先說第一個框架Struts,它是幹嘛的,原來我們寫Servlet的時候不停的用Request,Response進行讀取資料傳輸資料這樣的操作,那麼Struts可以讓我們能夠快速的完成資料的互動,但Struts也有缺點,它的整個框架的體量是比較大的,所以目前整個市場市面上使用Struts的公司並不多,但是我們用Struts可以快速入門,體驗一下用框架的“酸爽”滋味。
Hibernate
再說一個框架Hibernate,它是用來幫我們完成一個持久層的這樣的一個操作,什麼是持久層,就是之前提到的JDBC,它把JDBC的操作都封裝好了,所以Hibernate框架是一個全自動的框架,就是我們會把所有寫好的那個類和資料庫裡面的表做一個關係對映,也就是說,你去操作類,其實就是在操作表,那這樣的話,我們在寫程式碼的時候,就不用管表怎麼樣了,直接去管這個類就可以了。所以Hibernate有一個很顯著的效果,就是我們在想查詢資料,就不需要再去找那個表了,直接找類,通過類去查詢資料,也就是說,它實際上是幫我們通過那個類,幫我們對映到了那個表裡面的東西,所以這時候我們操作全都是操作類。那這個時候大家想一下,Java的東西要想和資料庫產生關聯,是不是必須要有JDBC,所以Hibernate它的本質就是把原來我們寫的JDBC的東西重新進行了一個封裝,封裝到我們程式設計師連SQL語句都不需要寫,Hibernate它底層自動的幫我們去拼接SQL語句,並且它還能幫我們把SQL語句執行,執行完的結果集也不需要程式設計師去管,它也會自動的把這個結果集內容給你解析成Java的物件,所以它直接就能拿到結果了,因此Hibernate又被稱作為一個全自動的持久層框架。但是由於它是全自動的,它的底層封裝的特別多,那這時候就導致非常大的一個問題就是它的執行效率比較低,因為它封裝的東西實在太多了,太冗餘,太複雜了,反而降低了它的執行效率,因為它的執行效率不高,因此現在整個市場上對Hibernate的使用率也不高,從這來看,Hibernate似乎也不是一個非常重要的框架,不過在學Hibernate的過程中會學到一個非常重要的概念叫ORM,叫做物件關係對映,就是把類和資料庫的表做一個對映關係,這個很重要,在後面我要提到的Mybatis,JPA,SpringData中最主要的核心都是這個ORM概念。對Hibernate大家簡單瞭解,能夠寫一些基本的程式碼就可以了。
Spring
Spring框架大家都聽過吧,這個框架特別重要,在目前整個市場上來看的話是基本上有一個一統江湖的趨勢。Spring是整個Java體系裡使用頻率最高,穩定性最好,而且在各個領域都能遇到的一個框架。那什麼是Spring呢?其實你可以把Spring理解為一個管家,如果我們不用Spring的話,我們之前寫的程式碼實際上是雜亂無章的,這一塊,那一塊,然後用各種各樣的關聯關係把它們綁在一起,整個專案是雜亂無章的,那麼我們用了Spring之後,它就把每個區域的程式碼進行分離,自己是自己的,然後由Spring在中間做一個調控,Spring之所以能火起來,就是因為它的做管理的理念好,它去協調各個框架,協調各塊程式碼,這是Spring的工作。
SpringMVC
學了Spring,就來學Spring的第一個子專案叫SpringMVC,一看名字,MVC,這個在學JavaWeb的時候聽過吧,SpringMVC其實就是處理Servlet裡的那些內容,把那些內容給替換調了,也就是說用Spring來寫MVC層的程式碼,這樣就比較方便,簡單,而且SpringMVC封裝的前端處理是真的非常方便,方便到讓程式設計師爽到不行的地步。
MyBatis
MyBatis是一個做持久層的框架,其實就是相當於替換了Hibernate,之前說Hibernate的缺點是封裝的東西太多了,MyBatis就比較聰明,它知道不需要給程式設計師封裝太多,它只封裝了一半,另外一半留給程式設計師自己完成。那它封裝了什麼呢?它把從結果集裡面我們查詢SQL之後把結果集的內容封裝到Java物件裡面,這一塊它保留了,然後SQL語句它不管,讓程式設計師根據自己的需求自己寫,然後它幫程式設計師自動執行,自動處理結果集的問題,所以MyBatis又被稱為半自動的持久層框架。我們聽了全自動和半自動,那手動的是誰?其實就是DBUtil和JDBC的操作。這個是純手動,什麼都要自己寫,然後到MyBatis這,你寫一半,它幫你幹一半,而Hibernate是全自動,你什麼都不用管,挺方便的,但Hibernate封裝太厚重,JDBC又太麻煩,所以MyBatis恰好處在它們兩個之間的一個位置,所以目前市面上使用MyBatis的公司還是特別多的。
JPA
JPA全程Java Persistence API,它叫Java持久層API,API說白了就是Java官方給的一套標準,一堆註解,然各個框架自己想辦法去實現,在JPA的視線中其實Hibernate是實現最好的,因此我們在使用JPA的時候感覺很使用Hibernate一樣,特別像。
SpringBoot
SpringBoot是近幾年火起來的一個框架,也是Spring家族體系裡面的,SpringBoot把整個Web應用,就網頁的應用把它的啟動放在了一個類裡面,我們之前寫的所有的包括Servlet,JSP包括用一些框架寫的專案,這些專案想啟動的話,我們需要把它放到伺服器(Tomcat)中,那到了SpringBoot裡面就不是這樣了,你寫一個很普通的Java類,在這個類上寫行註解,然後右鍵執行Run這個類,你一執行,它就幫你啟動了一個服務,Java中有很多個類,這樣每個類都能右鍵執行,一個專案就可以把它分割成非常非常多個小的服務,其實這個概念就是所謂的叫微服務的一個基本概念,那這時候就產生了關於微服務的一個應用,SpringBoot官方曾經放出過這麼一句話,就是用一百多個字元就可以搞定一個Web程式的開發,由此可見它的整個的封裝的體系是非常健全的,它把Tomcat,還有Apache,Jetty這些個伺服器全都封裝起來了,所以我們用SpringBoot的時候就不需要Tomcat了,它內建了,裡面直接帶了,所以SpringBoot官方的意義其實是非常明確的,就是程式設計師就乖乖寫程式碼就行了,其它的環境上的工作,SpringBoot全都提供給你了,你直接拿去用就行了。所以SpringBoot學起來還是挺簡單,也挺好用的。
Maven
這個Maven不是框架,而是一個構建工具,我們用框架寫的專案中需要匯入大量的各種不同的jar包,這時候jar包的維護以及jar包版本的管理就會成為非常大的一個問題,如果我們用Maven,就能很好的解決這個問題了,Maven是一個專案自動的構建工具,它可以幫我們自動管理和下載jar包,而且在我們整個專案打包進行上線的時候,它也會幫我們自動打包,而且打包的時候還特別方便,把一些沒用的東西給你幹掉,建議好好學一下Maven,很多框架都要用到Maven。
SVN協同開發工具
我們以後在公司寫專案都是團隊協同的,不是一個人搞的,是很多人一起開發同一個專案,這時就需要一個能夠協同的開發工具,比如一個團隊有十個人,那十個人一起開發一個專案,他們的程式碼肯定需要放在一起,放一起的話,就需要能提交能下載,我先把程式碼下載下來然後進行編寫,寫完後再提交上去,每個人都應該有這樣的操作,那這個時候就需要能夠協同的開發工具,目前市面上比較常見的協同開發工具有兩個,一個叫SVN,一個叫Git,SVN是一個比較老的工具了,Git是比較年輕的,就看你用哪一個了。
此篇完
以上就是關於流行框架的一個梗概了,希望能對大家有所幫助。我想應該說全面了吧,要是沒全面也不要緊,後面再繼續補充。
看完有收穫?那麼希望老鐵別吝嗇你的三連擊哦
1、點個推薦,讓更多的人看到這篇文章
2、關注我的原創微信公眾號【泰斗賢若如】,第一時間閱讀我的文章
3、歡迎關注我的部落格
【原創宣告】:本人原創:https://www.cnblogs.com/zyx