JavaEE-SpringBoot快速入門

文章目錄

  • 本節目標
  • 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 項?了.

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

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

相關文章

【Viper】配置格式與支持的數據源與go案例

Viper 是一個用于 Go 應用程序的配置管理庫&#xff0c;支持多種配置格式和數據源。 安裝依賴 go get github.com/spf13/viper go get github.com/spf13/viper/remote go get go.etcd.io/etcd/client/v3"github.com/spf13/viper/remote"要寫在etcd客戶端import里 1…

【C/C++】后綴表達式 藍橋杯/ACM備賽

核心考點&#xff1a;1.棧的應用 2.字符串處理 題目描述 所謂后綴表達式是指這樣的一個表達式&#xff1a;式中不再引用括號&#xff0c;運算符號放在兩個運算對象之后&#xff0c;所有計算按運算符號出現的順序&#xff0c;嚴格地由左而右新進行&#xff08;不用考慮運算符的…

【AI實踐】deepseek支持升級git

當前Windows 11 WSL的git是2.17&#xff0c;Android Studio提示需要升級到2.19版本 網上找到指導文章 安裝git 2.19.2 cd /usr/src wget https://www.kernel.org/pub/software/scm/git/git-2.19.2.tar.gz tar xzf git-2.19.2.tar.gz cd git-2.19.2 make prefix/usr/l…

QEMU 搭建 Ubuntu x86 虛擬機

1. 安裝 QEMU 在 Ubuntu 系統中&#xff0c;可以通過以下命令安裝 QEMU&#xff1a; sudo apt-get update sudo apt-get install qemu-system-x86_64 qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager2. 創建虛擬硬盤鏡像 qemu-img create -f raw ubuntu…

Linux驅動層學習:Linux 設備樹

設備樹是一種數據結構&#xff0c;包含多個節點&#xff0c;用于描述硬件設備及其配置信息&#xff0c;它通常用于嵌入式系統中&#xff0c;尤其是在Linux操作系統中&#xff0c;幫助操作系統識別和管理硬件資源&#xff0c;設備樹不是代碼&#xff0c;而是一種用數據描述硬件信…

金蝶云星空與釘釘高效數據集成案例分享

金蝶云星空數據集成到釘釘的技術案例分享 在企業信息化系統中&#xff0c;數據的高效流動和實時反饋是提升業務效率的關鍵。本文將聚焦于一個具體的系統對接集成案例&#xff1a;如何將金蝶云星空的數據集成到釘釘&#xff0c;并實現審核狀態的回傳提示。 本次集成方案名為“…

圖形渲染(一)——Skia、OpenGL、Mesa 和 Vulkan簡介

1.Skia —— 2D 圖形庫 Skia 是一個 2D 圖形庫&#xff0c;它的作用是為開發者提供一個高層次的繪圖接口&#xff0c;方便他們進行 2D 圖形渲染&#xff08;比如繪制文本、形狀、圖像等&#xff09;。Skia 本身不直接管理 GPU 或進行底層的渲染工作&#xff0c;而是通過 底層圖…

GIT提錯分支,回滾提交

1. 準備示例 假設我們有三次提交&#xff1a; test1&#xff1a;需要在 master 分支提交test2、test3&#xff1a;需要在 develop 分支提交 遠端線上記錄 2. 步驟 選擇需要回退的記錄&#xff1a; 選中需要回退的 commit&#xff0c;選擇 Reset Current Branch to Here...。…

【原創】在ubuntu中搭建gradle開發環境

檢查Linux版本 rootwww:~# hostnamectlStatic hostname: www.0x88.comIcon name: computer-vmChassis: vmMachine ID: 30fa955a36be492ca459599ef20bc508Boot ID: 37084dbe36f44adaa075e8f9a98f132eVirtualization: kvm Operating System: Ubuntu 22.04.5 LTSKernel: Linux 5.…

【JavaEE進階】MyBatis入門

目錄 &#x1f334;前言 &#x1f332;什么是MyBatis? &#x1f333;準備工作 &#x1f6a9;創建工程 &#x1f6a9;配置數據庫連接字符串 &#x1f6a9;數據準備 &#x1f6a9;編寫持久層代碼 &#x1f343;單元測試 &#x1f334;前言 在應?分層學習時,我們了解到…

以太網詳解(八)傳輸層協議:TCP/UDP 協議

文章目錄 傳輸層協議概述為什么需要傳輸層&#xff1f;傳輸層功能網絡層與傳輸層在實現 “端到端” 傳輸的異同兩類服務:面向連接/無連接服務 傳輸控制協議 TCPTCP 協議數據單元格式TCP 的重傳機制快重傳和快恢復快重傳舉例快恢復算法 用戶數據報協議 UDPUDP 概述UDP 基本工作過…

Electron 客戶端心跳定時任務調度庫調研文檔 - Node.js 任務調度庫技術調研文檔

Electron 客戶端心跳定時任務調度庫調研文檔 - Node.js 任務調度庫技術調研文檔 本文將對七個流行的定時任務調度庫&#xff1a;node-cron、rxjs、bull、node-schedule、agenda、bree、cron。這些庫都可以用來處理定時任務&#xff0c;但它們的特點和適用場景有所不同。我們將從…

DeepSeek 開放平臺無法充值 改用其他平臺API調用DeepSeek-chat模型方法

近幾天DeepSeek開放平臺無法充值目前已經關閉狀態&#xff0c;大家都是忙著接入DeepSeek模型 &#xff0c;很多人想使用DeepSeek怎么辦&#xff1f; 當然還有改用其他平臺API調用方法&#xff0c;本文以本站的提供chatgpt系統為例&#xff0c;如何修改DeepSeek-chat模型API接口…

pix2text 使用經驗

給同行打雞血 &#x1f60a; 構建結構化的數理領域知識庫&#xff1a; 提高可訪問性和可搜索性 Markdown和LaTeX格式&#xff1a;這兩種格式易于在線發布和共享&#xff0c;有助于提高數學內容的可訪問性。搜索引擎優化&#xff1a;將PDF內容轉換為標記語言&#xff0c;可以…

Linux(centos)系統安裝部署MySQL8.0數據庫(GLIBC版本)

安裝前檢查服務器glibc版本&#xff0c;下載對應版本包 rpm -qa | grep glibc mysql安裝包及依賴包已整理好&#xff0c;下載地址&#xff1a;https://pan.quark.cn/s/3137acc814c0&#xff0c;下載即可安裝 一、下載MySQL mysql安裝包及依賴包已整理好&#xff0c;下載地址…

6.2.圖的存儲結構-鄰接矩陣法

一.鄰接矩陣法存儲不帶權圖&#xff1a; 結點不帶權值&#xff1a; 1.左圖的無向圖中&#xff0c;A到B直達的有一條路&#xff0c;所以A行B列的值為1&#xff1b; 左圖的無向圖中&#xff0c;A到F沒有直達的路&#xff0c;所以A行F列的值為0&#xff1b; 結論&#xff1a;無…

【VB語言】EXCEL中VB宏的應用

【VB語言】EXCEL中VB宏的應用 文章目錄 [TOC](文章目錄) 前言一、EXCEL-VB1.實驗過程2.代碼 二、EXCEL-VB 生成.c.h文件1.實驗過程2.代碼 四、參考資料總結 前言 1.WPS-VB擴展包 提示&#xff1a;以下是本篇文章正文內容&#xff0c;下面案例可供參考 一、EXCEL-VB 1.實驗過…

用deepseek學大模型05邏輯回歸

deepseek.com:邏輯回歸的目標函數&#xff0c;損失函數&#xff0c;梯度下降 標量和矩陣形式的數學推導&#xff0c;pytorch真實能跑的代碼案例以及模型,數據&#xff0c;預測結果的可視化展示&#xff0c; 模型應用場景和優缺點&#xff0c;及如何改進解決及改進方法數據推導。…

2025年02月17日Github流行趨勢

項目名稱&#xff1a;OmniParser 項目地址url&#xff1a;https://github.com/microsoft/OmniParser 項目語言&#xff1a;Jupyter Notebook 歷史star數&#xff1a;8971 今日star數&#xff1a;969 項目維護者&#xff1a;yadong-lu, ThomasDh-C, aliencaocao, nmstoker, kris…

RocketMQ 5.0安裝部署

0.前言 在微服務架構逐漸成為主流的今天&#xff0c;消息隊列如同數字世界的快遞員&#xff0c;承擔著系統間高效通信的重要使命。 Apache RocketMQ 自誕生以來&#xff0c;因其架構簡單、業務功能豐富、具備極強可擴展性等特點被眾多企業開發者以及云廠商廣泛采用。歷經十余…