【SSM】SpringBoot學習筆記1:SpringBoot快速入門

?前言:

文章是系列學習筆記第9篇。基于黑馬程序員課程完成,是筆者的學習筆記與心得總結,供自己和他人參考。筆記大部分是對黑馬視頻的歸納,少部分自己的理解,微量ai解釋的內容(ai部分會標出)。


筆記1:【SSM】Spring學習筆記1: IoC的XML配置-CSDN博客?對應黑馬課程P1~P20的內容。

筆記2:【SSM】Spring學習筆記2:注解配置bean-CSDN博客? 對應黑馬課程P21~P27

筆記3:【SSM】Spring學習筆記3:Spring整合MyBatis和Junit-CSDN博客?對應黑馬課程P28~P30

筆記4:【SSM】Spring學習筆記4:Spring的AOP編程-CSDN博客?對應黑馬課程P31~39

筆記5:【SSM】Spring學習筆記5:Spring事務-CSDN博客?對應黑馬課程P40~42

筆記6:??【SSM】Spring學習筆記6:SpringMVC入門-CSDN博客?對應黑馬課程P43~58

筆記7: 【SSM】SpringMVC學習筆記7:前后端數據傳輸協議和異常處理-CSDN博客?對應黑馬課程P59~65

筆記8:【SSM】SpringMVC學習筆記8:攔截器-CSDN博客?對應黑馬課程P71~74

筆記9: (此篇) 對應黑馬課程P90~101


1. 快速案例

新建springboot工程(intell IDEA有集成)

新建好工程之后,直接寫一個controller類

@RestController
@RequestMapping("/book")
public class BookController {@GetMapping("/{id}")public String getBook(@PathVariable int id) {return "hi spring boot";}
}

運行新建工程之后自動寫好的類

無需額外配置,此時tomcat服務器已經啟動,剛剛寫好的controller類正確運行。

不通過ide創建spring boot項目的話,可以從spring官網創建項目,到時候會提供一個創建好項目的壓縮包。

2. spring boot項目快速啟動

將構建好的spring boot打包成一個jar包,發送給前端人員,前端人員就能無需配置運行環境的情況下運行構建好的spring boot程序。

注意,如果沒有以下插件,打包出來的jar包無法直接運行。

3.springboot?

3.1 起步依賴

構建的springboot項目會繼承自spring-boot-starter-parent項目,而spring-boot-starter-parent又會繼承自spring-boot-dependencies,這兩個項目是springboot官方提供的項目,用于依賴的版本控制。簡單的說,這兩個項目中提供了幾乎所有常用依賴的適配版本的可選依賴,在我們的項目中如果需要使用某個依賴直接使用groupId和artifactId即可,無需配置版本號。這種設計減少了各個依賴之間版本沖突帶來的問題。

3.2 引導類

就是創建SpringBoot項目的時候自動生成的類,這個類是程序的入口。這個類無需手動創建。

@SpringBootApplication
public class MyspringbootApplication {public static void main(String[] args) {SpringApplication.run(MyspringbootApplication.class, args);}}

4. Springboot端口配置

springboot所有配置文件都叫 application.XXX

application.properties配置

application.yml配置

注意該文件配置格式,在具體的值前面有空格。

application.yaml配置

它的格式和.yml一模一樣

優先級

如果同時使用以上三種文件同時配置,優先級:

application.properties>application.yml>application.yaml

ps:

如果在配置文件中書寫的時候沒有任何提示,可能是以內ide沒有將該文件視為工程的配置文件。需要到項目結構中設置。

5. yaml配置文件

5.1 書寫格式

逐漸在市場中占主流地位

5.2 使用

方法1

方法2

使用自動裝配的方式,直接將配置文件中的信息放到environment對象里面。

方法3

自定義對象封裝數據。使用@Component注解將該類配置成bean,交給Spring管理。

使用@ConfigurationProperties注解指明這個類應該與配置文件中哪個信息對應。

5.3 多環境配置

.yml

# 設置啟用的環境
spring:profiles:active: test---
# 開發
spring:profiles: dev
server:port: 80---
# 生產
spring:profiles: pro
server:port: 81---
# 測試
spring:profiles: test
server:port: 82

命令行運行jar包的時候指定運行環境

同理,這種格式適用于各中參數的臨時覆蓋,包括配置文件中的自定義參數

6. maven 和SpringBoot多環境配置兼容

要需要保證有以下插件,maven中的屬性才能被配置文件讀取

7. 在jar外面的配置文件

在jar包的同級目錄下如果有一個application.yml配置文件,jar包運行的的時候會使用該配置文件作為配置信息。如果jar包同級目錄下有config/application.yml,則config/application.yml優先級更高,將使用它作為配置信息。

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

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

相關文章

國產高性能pSRAM選型指南:CSS6404LS-LI 64Mb QSPI偽靜態存儲器

一、芯片基礎特性 核心參數 容量 :64Mb(8M 8bit)電壓 :單電源供電 2.7-3.6V (兼容3.3V系統)接口 :Quad-SPI(QPI/SPI)同步模式封裝 : SOP-8L (150mil) &#…

Cilium動手實驗室: 精通之旅---4.Cilium Gateway API - Lab

Cilium動手實驗室: 精通之旅---4.Cilium Gateway API - Lab 1. 環境準備2. API 網關--HTTP2.1 部署應用2.2 部署網關2.3 HTTP路徑匹配2.4 HTTP頭匹配 3. API網關--HTTPS3.1 創建TLS證書和私鑰3.2 部署HTTPS網關3.3 HTTPS請求測試 4. API網關--TLS 路由4.1 部署應用4.2 部署網關…

20250605在微星X99主板中配置WIN10和ubuntu22.04.6雙系統啟動的引導設置

rootrootrootroot-X99-Turbo:~$ sudo apt-get install boot-repair rootrootrootroot-X99-Turbo:~$ sudo add-apt-repository ppa:yannubuntu/boot-repair rootrootrootroot-X99-Turbo:~$ sudo apt-get install boot-repair 20250605在微星X99主板中配置WIN10和ubuntu22.04.6雙…

MyBatis之測試添加功能

1. 首先Mybatis為我們提供了一個操作數據庫的會話對象叫Sqlsession,所以我們就需要先獲取sqlsession對象: //加載核心配置文件 InputStream is Resources.getResourceAsStream("mybatis-config.xml"); //獲取sqlSessionFactoryBuilder(是我…

[論文閱讀] 人工智能+軟件工程 | MemFL:給大模型裝上“項目記憶”,讓軟件故障定位又快又準

【論文解讀】MemFL:給大模型裝上“項目記憶”,讓軟件故障定位又快又準 論文信息 arXiv:2506.03585 Improving LLM-Based Fault Localization with External Memory and Project Context Inseok Yeo, Duksan Ryu, Jongmoon Baik Subjects: Software Engi…

Java開發中復用公共SQL的方法

在一次Java后端開發的面試中,面試官問了我一個問題:“你在寫代碼時會復用公共SQL嗎?如果會的話,能詳細介紹一下你是如何實現的嗎?”這個問題讓我眼前一亮,因為在實際項目中,SQL復用確實是一個非…

C#學習26天:內存優化的幾種方法

1.減少對象創建 使用場景: 在循環或密集計算中頻繁創建對象時。涉及大量短生命周期對象的場景,比如日志記錄或字符串拼接。游戲開發中,需要頻繁更新對象狀態時。 說明: 重用對象可以降低內存分配和垃圾回收的開銷。使用對象池…

【opencv】基礎知識到進階(更新中)

安裝:pip install opencv-python 入門案例 讀取圖片 本節我們將來學習,如何使用opencv顯示一張圖片出來,我們首先需要掌握一條圖片讀取的api cv.imread("圖片路徑","讀取的方式") # 圖片路徑: 需要在工程目錄中,或者一個文件的絕對路徑 # 讀取…

【Part 3 Unity VR眼鏡端播放器開發與優化】第二節|VR眼鏡端的開發適配與交互設計

文章目錄 《VR 360全景視頻開發》專欄Part 3|Unity VR眼鏡端播放器開發與優化第一節|基于Unity的360全景視頻播放實現方案第二節|VR眼鏡端的開發適配與交互設計一、Unity XR開發環境與設備適配1.1 啟用XR Plugin Management1.2 配置OpenXR與平…

SQL進階之旅 Day 16:特定數據庫引擎高級特性

【SQL進階之旅 Day 16】特定數據庫引擎高級特性 開篇 在“SQL進階之旅”系列的第16天,我們將探討特定數據庫引擎的高級特性。這些特性通常為某些特定場景設計,能夠顯著提升查詢性能或簡化復雜任務。本篇文章將覆蓋MySQL、PostgreSQL和Oracle的核心高級…

c++算法學習4——廣度搜索bfs

一、引言:探索迷宮的智能方法 在解決迷宮最短路徑問題時,廣度優先搜索(BFS)是一種高效而優雅的算法。與深度優先搜索(DFS)不同,BFS采用"由近及遠"的搜索策略,逐層探索所有…

4.RV1126-OPENCV 圖像輪廓識別

一.圖像識別API 1.圖像識別作用 它常用于視覺任務、目標檢測、圖像分割等等。在 OPENCV 中通常使用 Canny 函數、findContours 函數、drawContours 函數結合在一起去做輪廓的形檢測。 2.常用的API findContours 函數:用于尋找圖片的輪廓,并把所有的數…

Qt多線程訪問同一個數據庫源碼分享(基于Sqlite實現)

Qt多線程訪問同一個數據庫源碼分享(基于Sqlite實現) 一、實現難點線程安全問題死鎖風險連接管理問題數據一致性性能瓶頸跨線程信號槽最佳實踐建議 二、源碼分享三、測試1、新建一個多線程類2、開啟多線程插入數據 一、實現難點 多線程環境下多個線程同時…

雙空間知識蒸餾用于大語言模型

Dual-Space Knowledge Distillation for Large Language Models 發表:EMNLP 2024 機構:Beijing Key Lab of Traffic Data Analysis and Mining 連接:https://aclanthology.org/2024.emnlp-main.1010.pdf 代碼:GitHub - songmz…

貪心算法應用:多重背包啟發式問題詳解

貪心算法應用:多重背包啟發式問題詳解 多重背包問題是經典的組合優化問題,也是貪心算法的重要應用場景。本文將全面深入地探討Java中如何利用貪心算法解決多重背包問題。 多重背包問題定義 **多重背包問題(Multiple Knapsack Problem)**是背包問題的變…

ES6 Promise 狀態機

狀態機:抽象的計算模型,根據特定的條件或者信號切換不同的狀態 一、Promise 是什么? 簡單來說,Promise 就是一個“承諾對象”。在ES6 里,有些代碼執行起來需要點時間,比如加載文件、等待網絡請求或者設置…

【Docker管理工具】部署Docker可視化管理面板Dpanel

【Docker管理工具】部署Docker可視化管理面板Dpanel 一、Dpanel介紹1.1 DPanel 簡介1.2 主要特點 二、本次實踐規劃2.1 本地環境規劃2.2 本次實踐介紹 三、本地環境檢查3.1 檢查Docker服務狀態3.2 檢查Docker版本3.3 檢查docker compose 版本 四、下載Dpanel鏡像五、部署Dpanel…

最新研究揭示云端大語言模型防護機制的成效與缺陷

一項全面新研究揭露了主流云端大語言模型(LLM)平臺安全機制存在重大漏洞與不一致性,對當前人工智能安全基礎設施現狀敲響警鐘。該研究評估了三大領先生成式AI平臺的內容過濾和提示注入防御效果,揭示了安全措施在阻止有害內容生成與…

docker中,容器時間和宿機主機時間不一致問題

win11下的docker中有個mysql。今天發現插入數據的時間不正確。后來發現原來是docker容器中的時間不正確。于是嘗試了各種修改,什么run -e TZ"${tzutil /g}",TZ"Asia/Shanghai",還有初始化時帶--mysqld一類的,…

uniapp實現的簡約美觀的星級評分組件

采用 uniapp 實現的一款簡約美觀的星級評分模板,提供絲滑動畫效果,用戶可根據自身需求進行自定義修改、擴展,純CSS、HTML實現,支持web、H5、微信小程序(其他小程序請自行測試) 可到插件市場下載嘗試&#x…