框架就是開發人員定義好的一套模板,程序員只須要往模板中添加響應的代碼便可,填完代碼,項目就完成了。因此框架存在的意義以及咱們學習框架的目的就是想辦法可以讓程序員快速的完成整個項目的開發。下面我來對各大流行框架作個梗概:前端
先說第一個框架Struts,它是幹嗎的,原來咱們寫Servlet的時候不停的用Request,Response進行讀取數據傳輸數據這樣的操做,那麼Struts可讓咱們可以快速的完成數據的交互,但Struts也有缺點,它的整個框架的體量是比較大的,因此目前整個市場市面上使用Struts的公司並很少,可是咱們用Struts能夠快速入門,體驗一下用框架的「酸爽」滋味。程序員
數據庫
Spring框架你們都聽過吧,這個框架特別重要,在目前整個市場上來看的話是基本上有一個一統江湖的趨勢。Spring是整個Java體系裏使用頻率最高,穩定性最好,並且在各個領域都能遇到的一個框架。那什麼是Spring呢?其實你能夠把Spring理解爲一個管家,若是咱們不用Spring的話,咱們以前寫的代碼其實是雜亂無章的,這一塊,那一塊,而後用各類各樣的關聯關係把它們綁在一塊兒,整個項目是雜亂無章的,那麼咱們用了Spring以後,它就把每一個區域的代碼進行分離,本身是本身的,而後由Spring在中間作一個調控,Spring之因此能火起來,就是由於它的作管理的理念好,它去協調各個框架,協調各塊代碼,這是Spring的工做。服務器
學了Spring,就來學Spring的第一個子項目叫SpringMVC,一看名字,MVC,這個在學JavaWeb的時候聽過吧,SpringMVC其實就是處理Servlet裏的那些內容,把那些內容給替換調了,也就是說用Spring來寫MVC層的代碼,這樣就比較方便,簡單,並且SpringMVC封裝的前端處理是真的很是方便,方便到讓程序員爽到不行的地步。框架
MyBatis是一個作持久層的框架,其實就是至關於替換了Hibernate,以前說Hibernate的缺點是封裝的東西太多了,MyBatis就比較聰明,它知道不須要給程序員封裝太多,它只封裝了一半,另一半留給程序員本身完成。那它封裝了什麼呢?它把從結果集裏面咱們查詢SQL以後把結果集的內容封裝到Java對象裏面,這一塊它保留了,而後SQL語句它無論,讓程序員根據本身的需求本身寫,而後它幫程序員自動執行,自動處理結果集的問題,因此MyBatis又被稱爲半自動的持久層框架。咱們聽了全自動和半自動,那手動的是誰?其實就是DBUtil和JDBC的操做。這個是純手動,什麼都要本身寫,而後到MyBatis這,你寫一半,它幫你幹一半,而Hibernate是全自動,你什麼都不用管,挺方便的,但Hibernate封裝太厚重,JDBC又太麻煩,因此MyBatis剛好處在它們兩個之間的一個位置,因此目前市面上使用MyBatis的公司仍是特別多的。微服務
JPA全程Java Persistence API,它叫Java持久層API,API說白了就是Java官方給的一套標準,一堆註解,然各個框架本身想辦法去實現,在JPA的視線中其實Hibernate是實現最好的,所以咱們在使用JPA的時候感受很使用Hibernate同樣,特別像。工具
SpringBoot是近幾年火起來的一個框架,也是Spring家族體系裏面的,SpringBoot把整個Web應用,就網頁的應用把它的啓動放在了一個類裏面,咱們以前寫的全部的包括Servlet,JSP包括用一些框架寫的項目,這些項目想啓動的話,咱們須要把它放到服務器(Tomcat)中,那到了SpringBoot裏面就不是這樣了,你寫一個很普通的Java類,在這個類上寫行註解,而後右鍵運行Run這個類,你一運行,它就幫你啓動了一個服務,Java中有不少個類,這樣每一個類都能右鍵運行,一個項目就能夠把它分割成很是很是多個小的服務,其實這個概念就是所謂的叫微服務的一個基本概念,那這時候就產生了關於微服務的一個應用,SpringBoot官方曾經放出過這麼一句話,就是用一百多個字符就能夠搞定一個Web程序的開發,因而可知它的整個的封裝的體系是很是健全的,它把Tomcat,還有Apache,Jetty這些個服務器全都封裝起來了,因此咱們用SpringBoot的時候就不須要Tomcat了,它內置了,裏面直接帶了,因此SpringBoot官方的意義實際上是很是明確的,就是程序員就乖乖寫代碼就好了,其它的環境上的工做,SpringBoot全都提供給你了,你直接拿去用就好了。因此SpringBoot學起來仍是挺簡單,也挺好用的。學習
這個Maven不是框架,而是一個構建工具,咱們用框架寫的項目中須要導入大量的各類不一樣的jar包,這時候jar包的維護以及jar包版本的管理就會成爲很是大的一個問題,若是咱們用Maven,就能很好的解決這個問題了,Maven是一個項目自動的構建工具,它能夠幫咱們自動管理和下載jar包,並且在咱們整個項目打包進行上線的時候,它也會幫咱們自動打包,並且打包的時候還特別方便,把一些沒用的東西給你幹掉,建議好好學一下Maven,不少框架都要用到Maven。開發工具
咱們之後在公司寫項目都是團隊協同的,不是一我的搞的,是不少人一塊兒開發同一個項目,這時就須要一個可以協同的開發工具,好比一個團隊有十我的,那十我的一塊兒開發一個項目,他們的代碼確定須要放在一塊兒,放一塊兒的話,就須要能提交能下載,我先把代碼下載下來而後進行編寫,寫完後再提交上去,每一個人都應該有這樣的操做,那這個時候就須要可以協同的開發工具,目前市面上比較常見的協同開發工具備兩個,一個叫SVN,一個叫Git,SVN是一個比較老的工具了,Git是比較年輕的,就看你用哪個了spa