SpringBoot-第一天學習

SpringBoot介紹-約定大于配置

SpringBoot是在Spring4.0基礎上開發的,不是替代Spring的解決方案,而是和Spring框架結合并進一步簡化Spring搭建和開發過程的。

如何簡化?就是通過提供默認配置等方式讓我們更容易,集成了大量常用的第三方庫配置,所有你想用的常用框架,它都有對應的組件支持

大量的SpringBoot應用只需要非常少量的配置代碼

另外SpringBoot通過繼承大量的框架使得不同依賴包的版本沖突問題得到解決

內嵌了web層的tomcat,數據訪問的SpringData,還有各種中間件,只需要引入進來就可以。

?



只有在pom依賴中加上spring-boot-starter的依賴,才是作為一個springboot的項目


開發web所依賴的所有jar包都加進來了

里面有轉json的工具、tomcat、web服務的組件


1.加注釋

@SpringBootApplication

2.在main方法中加上

SpringApplication.run(Application.class,args);


如何把SpringBoot項目部署到服務器上

通過maven把項目打包成jar包,然后把jar包托到某個文件夾下,通過命令行的方式去啟動

java -jar 打包后jar包的名字

會發現報錯,因為啟動這個jar包后,這個jar會找不到啟動類的入口

需要在pom文件中導入

spring-boot-maven-plugin



啟動類的位置:如果不加@ComponentScan(掃描路徑),最好放在需要的掃描包的根目錄下,這樣才能自動掃描所有的Bean放到spring容器中



springboot項目約定:約定大于配置



前面說SpringBoot通過繼承大量的框架使得不同依賴包的版本沖突問題得到解決

在創建springBoot項目時,會讓我們選擇springboot的版本號(例如springboot 2.4.2)

我們可以在pom文件中加上父依賴

spring-boot-starter-parent

而spring-boot-starter-parent的父maven項目是

spring-boot-dependencies

spring-boot-dependencies中引入了大量 前面已選擇的springboot 的版本號 對應的 其他依賴的版本號的配置,這樣我們在自己的springBoot項目 就不用加上版本號 ,避免版本沖突的問題



不同

?starter場景啟動器:不同場景的場景啟動器維護了所對應的所有依賴,從而簡化maven文件的書寫



spring-boot-maven-plugin,它是作為bulid來加入插件的,不是dependency依賴

springboot只有加了這個插件,當運行Java -jar xxx.jar包時,才能找到啟動類的入口,項目才能正常部署



描述一下springboot的作用?

springboot有哪些特性?



創建springboot項目的兩種方式

(1)創建maven項目,然后在pom文件中加入springboot-starter依賴

(2)直接創建選擇springInitializer創建springboot項目



SpringBoot的啟動類

SpringApplication除了調用靜態run方法來啟動springboot項目,還可以創建實例對象,來使用SpringApplication的其他方法。

要使用SpringApplication的其他方法,需要自定義一個SpringApplication,然后使用它的其他方法



配置文件的使用


?



配置文件的優先級:上面的最高



上圖的最后一行命令是通過外部文件的配置文件來指定配置內容

config內的配置文件的優先級 >> 和config同級的配置文件的優先級

父級的配置文件的優先級 >> 子配置文件

命令行 + 配置參數 的優先級 >> 配置文件

配置屬性:先按位置找,同位置有多個配置文件,再按優先級順序高的采用

spring.profiles.active 指定環境 dev環境 ,沒有的屬性,會按照指定的 環境,從優先級低的配置文件中讀取。(下面文件的命名格式是約定)

對于不同環境的,通過spring.profiles.active 指定環境,也可以指定讓哪個類生效,通過給類上加注解@Profile("dev")

配置文件配置屬性:先看配置文件的位置 ,再看spring.profiles.active指定環境,再看優先級yml、yaml、properties



上面這種通過讀取的配置文件,它的優先級很低



屬性注入

1.通過@value+美元符,可以給單個成員變量注入參數值

如果類中的成員屬性過多,上述方式麻煩。可以采用方法2

2.給對象中的所有成員(變量)屬性注入參數值,可以通過@ConfigurationProperties+前綴prefix的方式給有的成員屬性賦值

配置文件中的參數命名很松散,多種方式都可以和成員變量 一一綁定



配置文件中的屬性占位符,可以實現對其他屬性的引用



配置文件中的屬性值可以賦隨機值,包含以下幾種形式的隨機值



如果不想把類的成員變量的賦值和yml文件寫在一起,可以通過@PropertySource()?指定外部配置來源的方式 來賦值

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

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

相關文章

交叉測試的優點和缺點!

交叉測試在軟件測試中具有重要的地位和作用。通過交叉測試,可以提高軟件質量、提升用戶體驗、增加測試覆蓋率、提高測試效率以及滿足市場需求和競爭優勢。因此,在軟件開發和測試過程中,應充分重視交叉測試的實施和應用。 以下是對其優缺點的…

推薦3款Windows系統的神級軟件,免費、輕量、絕對好用!

DiskView DiskView是一款用于管理和查看磁盤空間的工具,它集成了于微軟的Windows操作系統資源管理器中,以顯示直觀的磁盤空間使用情況。該軟件通過生成圖形化地圖,幫助用戶組織和管理大量文件和文件夾,從而高效地管理磁盤空間。用…

JDBC 學習筆記+代碼整理

Tip Idea自帶可視界面👉MySQL 圖形化界面-CSDN博客 Idea2022無add Framework support選項👉最新版IDEA:Add web Framework Support步驟/構建JavaWeb項目步驟_idea add framework support-CSDN博客 基本步驟 1.加載驅動包Driver 2.建立與數據庫的連接C…

證券交易系統中服務器監控系統功能設計

1.背景介紹 此服務器監控系統的目的在于提高行情服務器的監管效率,因目前的的行情服務器,包括DM、DT、DS配置數量較多,巡回維護耗時較多,當行情服務器出現異常故障,或者因為網絡問題造成數據斷線等情況時,監…

芯科普| 矽光子是什麼?可以用在哪些領域?點擊查看!

隨著生成式人工智能的崛起,數據傳輸需求亦呈現爆發式增長。而在此背景下,臺積電在半導體展覽上披露的硅光子(SiPh:Silicon Photonics)技術進展,更是將硅光子推向了風口浪尖,成為了市場的寵兒。 …

IDEA導入依賴+Maven配置

Maven安裝及配置 安裝 安裝鏈接:https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/ 注:建議不要直接安裝最新版本,選用常用、穩定的版本安裝即可,比如:3.6.3 配置 1> 配置bash_profile文件 終端輸…

《知識點掃盲 · 監聽器 Listener》

📢 大家好,我是 【戰神劉玉棟】,有10多年的研發經驗,致力于前后端技術棧的知識沉淀和傳播。 💗 🌻 CSDN入駐不久,希望大家多多支持,后續會繼續提升文章質量,絕不濫竽充數…

高效前端開發:解密pnpm的存儲與鏈接

什么是pnpm PNPM(Performant NPM)是一種快速且節省磁盤空間的包管理工具。相較于其他包管理器如NPM和Yarn,PNPM通過獨特的存儲機制和鏈接技術解決了許多常見的問題。以下是PNPM如何避免這些問題以及其關鍵技術的詳細介紹。 特性 PNPM Store…

批量注冊工具是什么

摘要:批量注冊工具作為自動化領域的一個分支,為用戶在多平臺賬號管理中提供了極大的便利。 關鍵詞 批量注冊,自動化,實戰代碼,設計原則,法律法規 1. 引言 批量注冊工具能夠在短時間內創建大量賬號&…

【MySQL備份】Percona XtraBackup總結篇

目錄 1.前言 2.問題總結 2.1.為什么在恢復備份前需要準備備份 2.1.1. 保證數據一致性 2.1.2. 完成崩潰恢復過程 2.1.3. 解決非鎖定備份的特殊需求 2.1.4. 支持增量和差異備份 2.1.5. 優化恢復性能 2.2.Percona XtraBackup的工作原理 3.注意事項 1.前言 在歷經了詳盡…

數據庫、創建表、修改表

一、數據庫 1、登陸數據庫 2、創建數據庫zoo 3、修改數據庫zoo字符集為gbk 4、選擇當前數據庫為zoo 5、查看創建數據庫zoo信息 6、刪除數據庫zoo 二、創建表 1、創建一個名稱為db_system的數據庫 2、在該數據庫下創建兩張表,具體要求如下 員工表 user…

圖像的對數變換

對數變換在圖像處理中通常有以下作用: 因為對數曲線在像素值較低的區域斜率較大,像素值較高的區域斜率比較低,所以圖像經過對數變換之后,在較暗的區域對比度將得到提升,因而能增強圖像暗部的細節。圖像的傅里葉頻譜其…

MySQL 結構的優化方案

主要是指三方面,即表結構、字段結構以及索引結構,這些結構如果不合理,在某些場景下也會影響數據庫的性能,因此優化時也可以從結構層面出發。一般在項目的庫表設計之初就要考慮,當性能瓶頸出現時再調整結構,…

Python函數語法詳解(與C++對比學習)【未完】

一、Python函數的形式 def function_name (參數, ...) -> return value_type:# 函數體return value# 看具體需求# 如果沒有return語句,函數執行完畢后也會返回結果# 只是結果為None。return None可以簡寫為return 1. Python的返回值 在Python3中,提…

利用Redis bitmap 實現簽到案例

數據庫實現 設計簽到功能對應的數據庫表 CREATE TABLE sign_record (id bigint NOT NULL AUTO_INCREMENT COMMENT 主鍵,user_id bigint NOT NULL COMMENT 用戶id,year year NOT NULL COMMENT 簽到年份,month tinyint NOT NULL COMMENT 簽到月份,date date NOT NULL COMMENT 簽…

EI檢索被認為是工程技術領域的權威數據庫

EI檢索被認為是工程技術領域的權威數據庫,能夠被EI檢索收錄的期刊和會議論文通常被認為具有一定的學術質量和影響力。然而,EI檢索與“高水平”不能完全畫等號,以下是一些需要考慮的因素: 1. 收錄標準:雖然EI檢索有嚴格…

在Linux操作系統中關于邏輯卷的案例

1.如何去創建一個邏輯卷 1.1先去創建物理卷 如上圖所示,physical volume 物理卷 被成功創建。 如上圖所示,可以使用pvscan來去查看當前Linux操作系統的物理卷/ 1.2使用創建好的物理卷去創建一個卷組。 如上圖所示,可以使用第一步創建的兩個…

【中項第三版】系統集成項目管理工程師 | 第 9 章 項目管理概論③ | 9.6 - 9.10

前言 第 9 章對應的內容選擇題和案例分析都會進行考查,這一章節理論性較強,學習要以教材為準。本章分值預計在4-5分。 目錄 9.6 項目管理過程組 9.7 項目管理原則 9.8 項目管理知識領域 9.9 價值交付系統 9.10 本章練習 9.6 項目管理過程組 項目…

千萬不能踏入的渠道管理五大誤區!【附策略】

一、引言 在當今激烈的市場競爭環境中,有效的渠道管理是企業獲得競爭優勢的關鍵。然而,在實踐過程中,不少企業因陷入管理誤區而影響了市場拓展和品牌建設。本文旨在揭示渠道管理中常見的五大誤區,并提供避免策略,幫助…

高級Redis之Stream的用法示例

不想自己搭建一個mq怎么辦?Redis的Stream 來幫你,Redis Stream 是 Redis 5.0 引入的一種新的數據結構,用于處理實時的、可持久化的、基于時間序列的數據流。它非常適合處理事件流、日志、消息隊列等場景。下面是一個使用 Redis Stream 的具體…