Maven
什么是maven
Maven簡單的理解就是一個項目管理工具,使用pom.xml文件進行管理和獲取.jar包,而不用手動進行添加.jar包。
創建maven項目以及使用
Maven的功能非常多,這里主要理解Maven的項目創建和依賴管理。
項目創建:
maven本身是一個獨立的軟件,但是idea本身就將Maven集成于自身,所以我們無需安裝,只要在idea的項目創建時選擇Maven選項即可。
Maven提供了跨平臺的自動化項目構建,在我們開發一個項目后需要進行編譯,測試,打包等流程,但是當我們修改了之后就要重新進行上述流程,Maven就提供了一些標準化的簡單命令來完成上面的流程。
以Maven中的package命令而言,這個命令可以直接將當前的項目進行打包,我們就會得到的當前項目的包.jar包,打包時同時也會將package上面的命令一起執行。
依賴管理
上面的Maven通過pom.xml進行獲取.jar包,而不用手動添加,其實就是依賴。
例如在JDBC中我們要手動添加.jar包到項目中,但是在Maven中我們就只需要在pom.xml文件中添加mysql-connector-java的依賴就行了,在<dependencies>中添加依賴的坐標就可以將這個包引入項目中了,同時刷新之后就會看到我們導入的.jar包了。
依賴傳遞
包和包之間也有依賴性,例如A包要依賴B包,B依賴C,如果不使用Maven時,此時就需要進行手動添加這三個包,但是使用Maven就可以解決這個問題,maven會根據包間的依賴性,將所依賴的包都添加到項目中,減少項目導包時出現的錯誤。
依賴排除
當A包依賴B1包,C包依賴B2包,B1和B2是相同的包只是包的版本不同,此時Maven就會根據路徑優先的方式,看看那個版本到達的路徑更短,來進行選擇。這樣的方式就是依賴排除。
maven導入包的方式
通過幾行代碼,就可以將包導入到項目中,Maven是通過到中央倉庫中尋找的。
這幾行代碼,我們稱之為坐標,我們可以通過引入坐標,Maven就會到“倉庫”中去尋找對應的.jar包,下載到我們的項目中。
本地倉庫和遠程倉庫
本地倉庫其實通俗的講就是我們電腦上的一個目錄,引入坐標后Maven就會去本地倉庫中尋找對應的.jar包,當沒有時就會去遠程倉庫中尋找。
遠程倉庫
遠程倉庫中包含了:中央倉庫,私人倉庫,公共源。
中央倉庫是maven中內置的一個倉庫,全球統一唯一,我們引入地址在本地倉庫沒有的情況下就會去這上面進行查找。
公共源是國內的一些公司將Maven倉庫鏡像,因為Maven倉庫一般在國外,訪問速度較慢,所以我們可以把Maven的默認的倉庫,修改為國內源。
SpringBoot
對于官方的說法,spring可以讓Java開發變得更加簡單快速,spring官方推出了很多項目,但是這些項目存在配置多,上手難的問題,于是spring就推出了SpringBoot,它是為了簡化Spring開發的。
當我們創建了SpringBoot項目之時,springboot是集成了maven的,要選擇maven進行創建,這樣在項目加載時會引進我們開發springboot的所需要的包。
父工程
在pom文件中的測試單元常見的依賴,它沒有指定版本號,但是我們在本地倉庫中也是能找到,這是因為每個SpringBoot中有一個父工程,依賴的版本號都在它那里保存,??程指定版本號后, 就會?動引?和所指定版本對應的依賴, 創建的SpringBoot項?, 會繼承SpringBoot??程。
SpringBoot項目目錄
src/main/java: Java 源代碼
src/main/resources: 為靜態資源或配置?件
src/test/java: 測試代碼源代碼
target: 編譯后的?件路徑
使用SpringBoot進行與瀏覽器進行交互
在瀏覽器中輸入http://127.0.0.1:8080/nihao/hello,這樣就可以訪問到我們寫的后端服務器了。
Web服務器
請求響應分析
瀏覽器輸?URL之后, 發起請求, 就和服務器之間建?了連接。
瀏覽器: