文章目錄
- 本節目標
- Maven
- 什么是Maven
- 創建一個Maven項目
- maven項目功能
- maven的依賴管理
- 全球倉庫, 私服, 本地服務器, 配置國內鏡像
- 第一個SpringBoot項目
- 創建項目
- 運行SpringBoot程序
- SpringBoot原理初步
- Web服務器
- 總結
本節目標
- 了解什么是maven, 配置國內源
- 使用Springboot創建項目
關于環境準備, 由于社區版的限制過多, 所以建議直接上專業版, 因為專業版是收費的, 所以你可以采用一些 “科技” 手段來繞開…, 我們下面提供一些途徑
教程鏈接
Maven
什么是Maven
maven就是一個項目管理工具, 基于POM(Project Object Model, 項目對象模型)
的概念, 通過一小段信息的描述, 來進行項目的管理與創建
簡單點說就是Maven是一個項目管理工具, 通過POM.xml
配置文件添加jar包(也就是添加依賴), 而不是手動的添加jar包, 其實我們在JDBC的那一篇章也學習過Maven, 我們這里只是做一個簡單的復習
創建一個Maven項目
早期的時候, 我們需要手動的添加Maven, 但是現在, idea已經自動包含了Maven, 所以不需要我們程序員進行手動的添加
下面是創建maven項目的流程
我們創建的Maven項目中, 都會包含一個pom.xml
, 這其實就是添加依賴的配置文件
maven項目功能
打開maven項目的管理列表
Lifecycle
表示這個項目的生命周期, 其中有多條指令
- clean: 清理所有的
target
標簽下的文件 - compile: 編譯當前的
Java
文件] - package: 把這個
maven
項目打包為一個jar
文件
當執行package
打包功能的時候, 會把上面的所有指令全部執行一遍…
會發現, 打包之后的jar
文件存在target
目錄下面
上面是日志的信息, 里面也存在jar
包的內容
maven的依賴管理
我們maven的核心就是通過管理pom.xml
中的依賴來管理項目
我們依賴的查詢可以直接在全球倉庫(全球唯一)上面查, 也可以在一些輔助平臺上面查, 但是這兩種平臺可能會存在"時差", 也就是全球倉庫發布, 但是輔助平臺沒有發布的情況
全球倉庫: 全球倉庫鏈接
輔助平臺鏈接: 輔助平臺鏈接
簡單介紹一下依賴(拿mysql為例)
查找依賴(全球倉庫)
分級查詢即可
查找依賴(輔助平臺)
通過這種方式直接查出來依賴的內容, 稍后我們會在pom.xml
中進行依賴的導入
下面的<dependency>
標簽中的內容就是導入的依賴信息
關于標簽的幾個屬性, 我們簡單介紹一下
groupId
: 組織名稱(一般都是某某公司)artifactId
: 項目名稱(就是開發的某某項目)version
: 代表該項目的版本信息(大, 中, 小 三個版本)
查看上面的這個文件下的內容, 會發現, 我們不僅僅導入了MySQL
這個依賴, 還導入了protobuf
這個依賴(除開內置的JDK17), 這是怎么回事呢
實際上, 我們在導入mysql
依賴的同時, 也進行了protobuf
的導入, 也就是說, mysql
這個依賴也依賴于protobuf
, 當依賴少的時候還好辦, 但是一旦依賴多了, 依賴之間的邏輯層次就不好判斷了…
所以我們安裝一個maven helper
來管理依賴之間的關系
重啟idea生效之后, 我們再次查看剛才的依賴關系
可以以列表的形式, 或者是樹的形式展開, 這樣我們的依賴關系就很清晰了
排除某個依賴
假如我們依賴a依賴于b, 但是此時我們不想要b依賴了, 拿上面的例子來說就是mysql
不想依賴protobuf
了, 我們就可以排除這個依賴
pom文件就變成了上面的樣子…
全球倉庫, 私服, 本地服務器, 配置國內鏡像
這一部分內容, 我們在JDBC
那一節已經介紹過了…
第一個SpringBoot項目
創建項目
直接上企業版, 上面給出來科技方法了…社區版很麻煩
下面是大致的介紹
- Name: 項目名稱
- Type: 選maven
- Group: 組織Id
- ArtifactId: 項目Id
我們選擇Springboot的版本是3.4.2(不要選擇帶有SNAPSHOT的快照版本)
然后依賴這里我們暫時勾選Spring Web
, 其實后面了解就知道了, 這其實就是Spring MVC
創建項目成功后, 我們查看一下pom
文件
這是springboot的基礎的一些信息, 也是父工程, 下面的一些沒有版本號的依賴, 實際上版本號都在這里面保存
這里沒什么用, 就是一些商標, 版權…等等信息(刪除就行)
第一個是Web
開發相關的依賴
第二個是單元測試
相關的依賴
第三個是相關的maven
插件的依賴
運行SpringBoot程序
含有@SpringBootApplication
注解的就是SpringBoot
程序的啟動類, 作為程序的入口出現
創建一個測試的程序進行驗證
我們添加了@RestController
注解(實質上是作為一種待掃描的標志使用)
@RequestMapping
注解是資源路徑的注解, 分為類路徑(不一定存在)和方法路徑(一定存在)
資源路徑 = 類路徑 + 方法路徑
我們現在啟動SpringBoot程序
現在就表示SpingBoot啟動成功了, 我們打開瀏覽器輸入URL
來訪問這個服務器程序
關于為什么端口號是8080, 下面我們會解釋
SpringBoot原理初步
Web服務器
前?我們已經學習了 HTTP 協議, 知道了 HTTP 協議就是 HTTP 客戶端和 HTTP 服務器之間的交互數據的格式.
Web 服務器就是對HTTP協議進?封裝, 程序員不需要直接對協議進?操作(自己寫代碼去解析http協議規則),讓Web開發更加便捷, 所以Web服務器也被稱為WWW服務器, HTTP服務器, 主要功能是提供?上信息瀏覽服務.
常見的Web服務器有: Apache,Nginx, IIS, Tomcat, Jboss等
SpringBoot 內置了Tomcat服務器, ?需配置即可直接運?
Tomcat服務器的默認端口號是8080, 所以我們的URL中的默認端口號就是8080
總結
- Spring Boot 是為了快速開發 Spring ?誕?的, Spring Boot 具備:
- Spring Boot 提供了啟動添加依賴的功能, 可以快速集成框架.
- 內置web服務器,?需配置 Tomcat 等 Web服務器,直接運?和部署程序.
- 可以完全拋棄繁瑣的 XML,使?注解和配置的?式進?開發.
- ?持更多的監控的指標,可以更好的了解項?的運?情況等特點.
- Spring Boot 可使? Idea 或??創建,它的設計思想是約定?于配置,類上標注
@SpringBootApplication 就可以啟動 Spring Boot 項?了.