EE進階1:Maven和SpringBoot基本介紹

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: 編譯后的?件路徑

pom.xml: maven 配置?件

使用SpringBoot進行與瀏覽器進行交互

在瀏覽器中輸入http://127.0.0.1:8080/nihao/hello,這樣就可以訪問到我們寫的后端服務器了。

Web服務器

Web 服務器就是對HTTP協議進?封裝, 程序員不需要直接對協議進?操作(??寫代碼去解析http協議 規則),讓Web開發更加便捷。
SpringBoot 內置了Tomcat服務器, ?需配置即可直接運?,Tocmat默認端?號是8080, 所以我們程序訪問時的端?號也是8080。

請求響應分析

瀏覽器輸?URL之后, 發起請求, 就和服務器之間建?了連接。

瀏覽器:

1)通過IP地址127.0.0.1定位到?絡上的?臺計算機, 127.0.0.1就是本機
2)通過端?號8080找到計算機上對應的進程 , 也就是在本地計算機中找到正在運?的8080端?的
程序
3)/user/sayhi是請求資源位置
服務器:
1)接收到瀏覽器發送的信息(如:/user/sayhi)
2)在服務器上找到/user/sayhi的資源
3)把資源發送給瀏覽器

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/95074.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/95074.shtml
英文地址,請注明出處:http://en.pswp.cn/web/95074.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【系統架構設計(三)】系統工程與信息系統基礎下:企業信息化與電子商務-數字化轉型的核心驅動力

文章目錄一、信息化的基本概念1、 信息化的定義與目的2、 信息化涉及的三大創新3、信息化需求的三個層次二、企業信息化六大方法體系三、信息系統戰略規劃方法1、 戰略規劃方法的演進2、 關鍵成功因素法&#xff08;CSF&#xff09;3、 戰略集合轉化法&#xff08;SST&#xff…

分布式2PC理論

目錄 什么是分布式 2PC&#xff08;Two-Phase Commit&#xff09; 2PC 的工作原理 2PC 的優缺點 為什么 2PC 不完全可靠&#xff1f; 超時問題 協調者故障 什么是分布式 2PC&#xff08;Two-Phase Commit&#xff09; 定義 2PC 是一種原子提交協議&#xff0c;用…

【原創】PDF一鍵導出圖片多張圖片一鍵合成PDF

一、界面功能介紹&#xff1a;PDF輸出圖片和圖片合成PDF二合一 開發動力&#xff1a;WPS有此功能需要VIP收費&#xff0c;其他小軟件不能滿足我的要求 依賴&#xff1a;友好界面組件&#xff0c;pdf輸出圖片組件&#xff0c;合并組件 NET8.0&#xff08;NetCore.Winform&#x…

卷積神經網絡項目:基于CNN實現心律失常(ECG)的小顆粒度分類系統

卷積神經網絡項目實現文檔 1、項目簡介 1.1 項目名稱 ? 基于CNN實現心律失常&#xff08;ECG&#xff09;的小顆粒度分類系統 1.2 項目簡介 ? 心律失常是臨床上常見且潛在致命的心血管疾病之一&#xff0c;包括房性早搏&#xff08;PAC&#xff09;、室性早搏&#xff0…

Linux(1)|入門的開始:Linux基本指令

一、淺談操作系統1、操作系統是什么&#xff1f;操作系統是一款做軟硬件管理的軟件我們可以發現除了上面的應用軟件&#xff0c;操作系統、設備驅動和硬件都是為軟硬件服務的&#xff0c;為了滿足用戶的不同需求&#xff0c;在操作系統之上需要有各種不同的應用軟件。2、一個好…

基于STM32單片機的OneNet物聯網云平臺農業土壤濕度控制系統

1 系統功能介紹 本設計為 基于STM32單片機的OneNet物聯網云平臺農業土壤濕度控制系統。系統以STM32F103C8T6單片機作為核心控制器&#xff0c;結合土壤濕度傳感器、OLED液晶顯示模塊、WiFi模塊、繼電器驅動電路以及按鍵電路&#xff0c;實現了土壤濕度的實時采集、顯示與遠程控…

GooglePlay提審問題記錄

1、debug簽名問題 原因&#xff1a; 為應用簽名 | Android Studio | Android Developers 從 IDE 中運行或調試您的項目時&#xff0c;Android Studio 會自動使用由 Android SDK 工具生成的調試證書為您的應用簽名。當您首次在 Android Studio 中運行或調試項目時&#xff…

使用Rag 命中用戶feedback提升triage agent 準確率

簡述使用 RAG&#xff08;Retrieval-Augmented Generation&#xff09;&#xff0c;提升 Triage Agent 對用戶反饋的處理準確率。這個方案的背景源于當前系統服務多個租戶&#xff0c;各租戶在業務場景、問題描述方式、術語使用習慣等方面存在極大差異&#xff0c;導致通用模型…

項目管理方法論有哪些流派

項目管理方法論的主要流派包括&#xff1a;瀑布式方法論、敏捷方法論、Scrum方法論、看板方法論、關鍵路徑法&#xff08;CPM&#xff09;、計劃評審技術&#xff08;PERT&#xff09;、掙值管理&#xff08;EVM&#xff09;、精益項目管理、六西格瑪、PRINCE2方法論。瀑布式方…

Python遠程文件管理高并發處理與負載均衡實戰

《Python遠程文件管理高并發處理與負載均衡實戰》 引言 在5G網絡和物聯網時代,單臺服務器每秒處理上萬并發請求已成為基本要求。本文基于Python異步編程框架和分布式架構,深入探討如何構建支持10萬+并發連接的遠程文件管理系統。通過實戰案例演示,系統在某省級政務云平臺實…

第十七章 Java基礎-常用API-System

文章目錄 package zsk.第十三章常用API.a02system;public

uniapp開發 移動端使用字符串替換注意事項

1. uniapp開發 移動端使用replace注意事項uniapp replaceAll方式在手機失效是因為安卓環境下不支持replaceAll方法。在uniapp開發中&#xff0c;如果在安卓環境下使用replaceAll方法&#xff0c;可能會導致頁面無法渲染&#xff0c;并且控制臺不會反饋錯誤信息。為了解決這個問…

【動態規劃 矩陣快速冪】P10528 [XJTUPC 2024] 崩壞:星穹鐵道|普及+

本文涉及知識點 C動態規劃 【矩陣快速冪】封裝類及測試用例及樣例 P10528 [XJTUPC 2024] 崩壞&#xff1a;星穹鐵道 題目背景 Corycle 喜歡玩一個由米哈游自主研發的一款回合制戰斗游戲------《崩壞&#xff1a;星穹鐵道》。這片銀河中有名為「星神」的存在&#xff0c;他們…

撿撿java——2、基礎07

Maven項目管理工具 maven項目->本地倉庫->判斷配置文件->沒指定->遠程倉庫-》本地倉庫 ->指定了->鏡像倉庫-》本地倉庫 GroupId&#xff1a;一般是逆向公司域名 ArtifactId&#xff1a;一般是項目jar名 Version&#xff1a;版本號 maven目錄里面conf&…

蜂窩通信模組OpenCPU的介紹

一、名詞解釋 OpenCPU 方案在軟件功能上&#xff0c;需要將原來在 MCU 上運行的固件功能&#xff0c;放在 Cat.1 模組的 SoC 芯片上運行。同時&#xff0c;原來通過串口協議交互完成的功能&#xff0c;也變成通過 OpenAPI 調用的方式來完成。軟件開發、編譯及燒錄方面&#xff…

沃豐科技出海客服系統對接沃爾瑪全球電商平臺,賦能中企出海

經濟全球化的當下&#xff0c;中國企業出海步伐不斷加快&#xff0c;沃爾瑪全球電商平臺作為全球極具影響力的零售渠道&#xff0c;成為眾多中企開拓國際市場的重要選擇。然而&#xff0c;跨境服務的復雜性、多語言溝通障礙、文化差異以及各行業的獨特需求&#xff0c;始終是中…

Spring Boot 整合 SSE, http長連接

1. 什么是 SSE&#xff1f; (30秒)SSE (Server-Sent Events) 是一種允許服務器通過 HTTP 連接主動向客戶端發送實時更新的技術。特點&#xff1a;基于 HTTP&#xff0c;使用簡單&#xff0c;單向通信&#xff08;服務器 -> 客戶端&#xff09;&#xff0c;自動重連。對比 We…

類和反射的機制

一、類1.類的生命周期1. 類的編譯&#xff1a;通過 javac 命令將 .java 源文件編譯成 .class 字節碼文件。 2. 類的加載&#xff1a;類加載器&#xff08;ClassLoader&#xff09;將 .class 文件從硬盤加載到內存&#xff0c;形成“類對象”&#xff0c;包括加載、鏈接、初始化…

【論文筆記】VGGT-從2D感知3D:pose估計+稠密重建+點跟蹤

VGG組聯合Meta改進了dust3r&#xff0c;輸入圖片&#xff0c;輸出對應的一系列3D屬性&#xff0c;被CVPR2025收錄&#xff01;1.abstract我們提出了VGGT&#xff0c;一種前饋神經網絡&#xff0c;能夠直接從場景的一個、幾個或數百個視角推斷出所有關鍵的3D屬性&#xff0c;包括…

idea2025.2中maven編譯中文亂碼

問題描述&#xff1a;使用idea2025.2編譯器中maven編譯java文件后中文出現亂碼情況解決方案&#xff1a;添加指令&#xff1a; JAVA_TOOL_OPTIONS-Dfile.encodingUTF-8 在下圖位置注意&#xff1a;再次編譯時&#xff0c;可以在原本文件中小范圍修改一點內容&#xff08;打個…