SpringBoot和Ajax階段總結

1.Springboot基本配置合信息
首先,須要sts(Spring Tools Suit)專爲Spring開發定製的,方便建立調試運行維護Spring應用。jdk(1.8)。tomacat不須要配置,由於sts內置了一個tomcat。但要配置maven,在windos下的偏好裏陪着一下,搜索maven,配置下user settings和installations
image.png
建立項目:html

建立springboot項目須要聯網,由於他會去spring官方去下載資源(固然也能夠去阿里雲裏下載。)這裏須要注意的是,阿里那邊版本最高是2.3.0,因此須要手動修改版本號。在建立時你能夠根據本身的須要去下載額外的配置依賴。這裏說一個坑,在引入mybatis時,必定要在resources下的配置文件中去配置數據庫信息
![image.png](/img/bVbMxQZ)

不然會在啓動時報一個url找不到的錯誤。
若是運行時出現這種界面且沒有明顯報錯說明建立項目沒有問題了。
image.png
HikariCP
image.png
用戶經過DataSource對象的getConnection()方法,獲取一個鏈接。假如池中有鏈接,則直接將鏈接返回給用戶。假如池中沒有鏈接,則會調用Dirver(驅動,由數據庫廠商進行實現)對象的connect方法從數據庫獲取,拿到鏈接之後,能夠將鏈接在池中放一份,而後將鏈接返回給調用方。
springboot整合了mybatis和spring mvc嗎
整合了
image.png
不須要咱們手動配置只須要將你須要的依賴勾選上。java

註解總結
下面會講解作項目時常常用到的一些註解:
首先解釋下springboot註解做用,註解能夠理解爲一個標記,
不一樣的註解是不一樣的標記,旨在告訴springboot框架在讀到這些標記後要作些什麼是
@SpringBootApplication底層使用了組件掃描啓動類標記
@Mapper被此標記的類或接口須要被mybatis管理
@Service
@Compont
@Controller以上三個被修飾的類會被spring管理,他們的對象有spring建立和管理
@Autowired自動裝配依賴注入
@Qualifier後接參數,通常用於描述建立指定參數的對象
@RequestMapping路徑映射
@ResponseBody指定返回的是字符串
@PathVariable是用來賦予請求url中的動態參數,即:將請求URL中的模板變量映射到接口方法的參數上
以及dao層用註解方式寫sql語句的那些註解。
還有lombok的註解會在後面講解。jquery

2.業務流程
此處講解講解創建在視圖層採用thymeleaf而不是ajax的基礎上。
MVC三層架構
image.png
在此圖中pojo,service,以及service.impl屬於M層有實體model和業務model, dao稍微特殊一點,若是你以三層架構的方式理解就將其理解爲model層,或者能夠理解爲獨立於三層架構的持久層。
controller是控制層,在template文件夾下的html頁面屬於V視圖層。
image.pngios

給你一個增刪改查的任務,你該如何下手。從任務執行上來講
C->M->dao->V 可是從寫代碼的邏輯角度卻有些不一樣,暫時不考慮界面。則須要先寫dao,增刪改查須要定義相應的方法,dao直接訪問數據庫因此方法須要在dao層寫。sql映射有2中方式xml配置和註解形式,可是一個方法只能用一種映射。(對了在此以前須要先寫pojo對象封裝數據類型)完成後,轉入model業務層,定義接口,定義實現類
接口中須要包含dao層所定義的方法,實現類重寫。同時依賴注入,屬性是dao的實現類對象類型。這樣業務實現類就和持久層發生關係。
寫完以後,轉入控制層首先須要依賴注入,屬性是業務接口實現類的對象類型。定義方法執行業務。注意其映射路徑和返回值。映射路徑是執行該方法的路徑,通常會在視圖層被表單或者按鈕或者其餘跳轉路徑所用到。而控制層方法返回值通常是頁面,這寫頁面用的是視圖層的html頁面。再說視圖層,須要根據控制層的方法(有時候會經過model帶數據給頁面)做出相應頁面調整。這裏再也不多說能夠本身去看項目。web

3插件總結
這裏就按照老師在進階階段所說的三個插件來總結。
3.1健康檢查
在spring boot框架中能夠添加健康檢測這一功能,此插件能檢測整個項目的運行狀態及其相關屬性。首先須要在pom.xml添加有關actuator的依賴。添加成功以後輸入localhost:8080/actuator/healthajax

便可查看整個項目的狀態。正常狀態是status up,在配置文件下輸入
management.endpoints.web.exposure.include=*後 能夠查看更多資源的健康信息(具體內容參照手冊),爲了更好的查看能夠在谷歌上安裝一個jsonview插件。除了輸入網址這種查看方式還能夠在boot dashboard上右擊show properties查看。點進以後有許多選項能夠查看健康信息。
3.2熱部署配置spring

在springboot框架中當修改類服務端代碼後須要重啓服務器才能正確的進行兩端通信。但有時須要頻繁的修改服務端代碼,此時爲了避免手動的重啓服務器能夠導入devtools等依賴。可是此種方法會致使頻繁重啓服務器而形成的cpu浪費。因此能夠在項目中將自動刷新選項取消掉,在改完全部代碼後從新構建項目後會重啓一次服務器。熱部署的sql

3.3lombok
第三方插件,在建立pojo對象時有時候模塊不少,pojo對象也不少,這樣須要重複並大量的寫起get set以及tostring等等方法。引入lombok能夠有效解決這一問題。如今pom文件引入lombok,而後根據文件所在磁盤位置找到lombok.jar文件,用cmd在java環境下打開並安裝至sts。以後就能用其功能。但注意新建項目後,須要在新項目的配置文件在引入lombok依賴便可(不須要再次安裝了)。經常使用的lombok註解有@Data @Setter @Getter @ToString等
坑:image.png
image.png
若是第二個圖中配置路徑不對或者包含中文或其餘特殊字符
會致使sts打不開。須要修改這裏的配置。數據庫

4.Ajax基礎
Ajax 全稱Asynchronous JavaScript and XML,是一種web應用技術。主要特色是異步請求和局部刷新。
試想一下一個界面在不使用Ajax的條件下,只有一個主線程解析頁面。當發送請求後,該線程須要等待
服務器處理結束才能執行後續解析工做。等待的時間就會形成頁面阻塞。這樣用戶體驗很是很差。而如今,
使用Ajax後,主線程會開一個分線程給Ajax引擎,讓Ajax引擎去請求服務器,而主線程去加載剩餘頁面。
image.png
image.png
Ajax工做流程 4步:
image.png
上例是發送的get請求,若是是post請求,還須要在open後send前添加此句: xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
同時send中還須要添加發送過去的參數。
5.Ajax進階
雖說是Ajax進階,實際上是js的進階。Ajax的發送就是上面提到的那四步。可是當發送的Ajax不止一個,有多個時,會形成html結構混亂,代碼可讀性差,以及不利於維護。因此須要對Ajax進行封裝。封裝的具體細節這裏再也不贅述(其實我本身自己暫時尚未徹底掌握還須要再花點時間再看看),但最後實現的效果是將Ajax封裝在一個獨立的js文件中(能夠是封裝進函數裏,也能夠是對象裏,建議用對象進行封裝),須要用到的時候在html頁面引入js文件。直接以對象.方法的形式來調用Ajax。
若是封裝的過程是造車的話,現階段不須要咱們徹底掌握。那麼調用的過程就是開車的過程,這是咱們把握的重點。
這裏用jquery和axios來舉例說明調用Ajax。
當引入jquery後,能夠
image.png
若是是get請求須要將type類型改成GET。json

axios一個js編寫的基於promise的http庫,通常用來發送get,post請求。
image.png
這是axios發送get請求
image.png這裏有坑,最好將參數封裝進對象去發送和返回不讓會出現返回爲null的結果。6.錯誤總結6.1springboot階段錯誤總結 常見錯誤類型:400,404,500,未實現須要的結果。 400 參數類型不匹配 根據錯誤提示檢查要求的參數和輸入的值類型,數量是否匹配,在現階段着重看日期。 500 服務器的錯誤,這種錯誤會在服務端console裏有提示,你們根據錯誤的類型,以及結合老師上課時的講解來查詢。 404 瀏覽器資源找不到,這種通常不會有錯誤提示,可是通常集中在路徑錯誤,能夠檢查映射路徑是否匹配。 未實現須要的效果,最笨最直接的方法是把老師代碼copy過來一行一行對。其餘方式,檢查控制檯輸出的日誌結合我的理解先將未實現效果的地方縮小。而後打斷點調試,有時候打着打着就能直接看出代碼哪裏寫錯了。 6.2 Ajax階段錯誤總結 這一階段主要寫了許多前段代碼,可是前段代碼錯誤提示功能太少,不利於咱們排錯。不少時候都是每一個單詞寫錯了或者某個括號多加或少加了。 一樣的發生上面這些錯誤後404 檢查路徑等,500看錯在哪一行。若是這些不能檢查出來就用老師的三個方法: 日誌,debbuger,排除法 日誌是console.log通常寫在方法裏對關鍵步驟打樁輸出語句,若是某一個日誌輸出的信息不是咱們想要的那麼就鎖定錯誤元了基本上。 debbuger在方法上寫下這個代碼,運行後在界面按f12進入debuge模式,此時能夠打斷點調試。 排除法,在js代碼裏先去掉一部分代碼固然須要記住這些被去掉的代碼執行的什麼功能。運行看結果,是否與本身預想的同樣,循環此操做找出與本身預想不同的地方鎖定錯誤源。

相關文章
相關標籤/搜索