Spring Boot 的核心配置文件及案例分析
一、入門案例分析
1)Spring Boot 的父級(jí)依賴 spring-boot-starter-parent 配置之后,當(dāng)前的項(xiàng)目就是 SpringBoot 項(xiàng)目
2)spring-boot-starter-parent 是一個(gè) Springboot 的父級(jí)依賴,開發(fā) SpringBoot 程序都需要繼承該父級(jí)項(xiàng)目,它用來提供相關(guān)的 Maven 默認(rèn)依賴,使用它之后,常用的 jar包依賴可以省去 version 配置
3)Spring Boot 提供了哪些默認(rèn) jar 包的依賴,可查看該父級(jí)依賴的 pom 文件
4)如果不想使用某個(gè)默認(rèn)的依賴版本,可以通過 pom.xml 文件的屬性配置覆蓋各個(gè)依賴項(xiàng),比如覆蓋 Spring 版本
<properties>
<spring-framework.version>5.0.0.RELEASE</ spring-framework.version >
</properties>
5)@SpringBootApplication 注解是 Spring Boot 項(xiàng)目的核心注解,主要作用是開啟Spring 自動(dòng)配置,如果在 Application 類上去掉該注解,那么不會(huì)啟動(dòng) SpringBoot程序
6)main 方法是一個(gè)標(biāo)準(zhǔn)的 Java 程序的 main 方法,主要作用是作為項(xiàng)目啟動(dòng)運(yùn)行的入口
7)@Controller 及 @ResponseBody 依然是我們之前的 Spring MVC,因?yàn)?Spring Boot的里面依然是使用我們的 Spring MVC + Spring + MyBatis
二、Spring Boot 的核心配置文件
Spring Boot 的核心配置文件用于配置 Spring Boot 程序,名字必須以 application 開始
1、核心配置格式
1).properties 文件(默認(rèn)采用該文件)
在 002-springboot-springmvc 項(xiàng)目基礎(chǔ)上,進(jìn)行修改
項(xiàng)目名稱:003-springboot-port-context-path
通過修改 application.properties 配置文件,在修改默認(rèn) tomcat 端口號(hào)及項(xiàng)目上下文件根鍵值對(duì)的 properties 屬性文件配置方式

配置完畢之后,啟動(dòng)瀏覽器測(cè)試

頁面顯示結(jié)果

2).yml 文件
項(xiàng)目名稱:004-springboot-yml,在 003 項(xiàng)目基礎(chǔ)之上
yml 是一種 yaml 格式的配置文件,主要采用一定的空格、換行等格式排版進(jìn)行配置。
yaml 是一種直觀的能夠被計(jì)算機(jī)識(shí)別的的數(shù)據(jù)序列化格式,容易被人類閱讀,yaml 類似于 xml,但是語法比 xml 簡(jiǎn)潔很多,值與前面的冒號(hào)配置項(xiàng)必須要有一個(gè)空格, yml 后綴也可以使用 yaml 后綴

注意:當(dāng)兩種格式配置文件同時(shí)存在,使用的是.properties 配置文件,為了演示 yml,可以先將其改名,重新運(yùn)行 Application,查看啟動(dòng)的端口及上下文根

![]()
我們以后在授課的過程中,使用 properties,所以演示完 yml 效果后,將該配置文件改名

2、多環(huán)境配置
在實(shí)際開發(fā)的過程中,我們的項(xiàng)目會(huì)經(jīng)歷很多的階段(開發(fā)->測(cè)試->上線),每個(gè)階段的配置也會(huì)不同,例如:端口、上下文根、數(shù)據(jù)庫等,那么這個(gè)時(shí)候?yàn)榱朔奖阍诓煌沫h(huán)境之間切換,SpringBoot 提供了多環(huán)境配置,具體步驟如下
1)項(xiàng)目名稱:005-springboot-multi-environment
為每個(gè)環(huán)境創(chuàng)建一個(gè)配置文件,命名必須以 application-環(huán)境標(biāo)識(shí).properties|yml

application-dev.properties
![]()

application-product.properties

application-test.properties

在總配置文件 application.properties 進(jìn)行環(huán)境的激活

等號(hào)右邊的值和配置文件的環(huán)境標(biāo)識(shí)名一致,可以更改總配置文件的配置,重新運(yùn)行Application,查看啟動(dòng)的端口及上下文根
2)項(xiàng)目名稱:006-springboot-multi-environment
為每個(gè)環(huán)境創(chuàng)建一個(gè)配置文件,命名必須以 application-環(huán)境標(biāo)識(shí).properties|yml

[page][/page]
SpringBoot 總配置文件:application.yml


開發(fā)環(huán)境配置文件:application-dev.yml

測(cè)試環(huán)境配置文件:application-test.yml

生產(chǎn)環(huán)境配置文件:application-product.yml

3、Spring Boot 自定義配置
在 SpringBoot 的核心配置文件中,除了使用內(nèi)置的配置項(xiàng)之外,我們還可以在自定義配置,然后采用如下注解去讀取配置的屬性值
1)@Value 注解
A、 項(xiàng)目名稱:007-springboot-custom-configuration用于逐個(gè)讀取 application.properties 中的配置
案例演示
? 在核心配置文件 applicatin.properties ,添加兩個(gè)自定義配置項(xiàng) school.name 和website。在 IDEA 中可以看到這兩個(gè)屬性不能被 SpringBoot 識(shí)別,背景是桔色的

application.yml 格式配置文件

? 在 SpringBootController 中定義屬性,并使用@Value 注解或者自定義配置值,并對(duì)其方法進(jìn)行測(cè)試

? 重新運(yùn)行 Application,在瀏覽器中進(jìn)行測(cè)試

2)@ConfigurationProperties
項(xiàng)目名稱:008-springboot-custom-configuration
將整個(gè)文件映射成一個(gè)對(duì)象,用于自定義配置項(xiàng)比較多的情況
案例演示
? 在 com.a(chǎn)bc.springboot.config 包下創(chuàng)建 ConfigInfo 類,并為該類加上 Component 和ConfigurationProperties 注解,并在 ConfigurationProperties 注解中添加屬性 prefix,作用可以區(qū)分同名配置


application.properties 配置文件

application.yml 配置文件


? 在 SpringBootController 中注入 ConfigInfo 配置類

? 修改 SpringBootController 類中的測(cè)試方法

? 重新運(yùn)行 Application,在瀏覽器中進(jìn)行測(cè)試

3)警告解決
? 在 ConfigInfo 類中使用了 ConfigurationProperties 注解后,IDEA 會(huì)出現(xiàn)一個(gè)警告,不影響程序的執(zhí)行
![]()
? 點(diǎn)擊 open documentnation 跳轉(zhuǎn)到網(wǎng)頁,在網(wǎng)頁中提示需要加一個(gè)依賴,我們將這個(gè)依賴拷貝,粘貼到 pom.xml 文件中


4)中文亂碼
如果在 SpringBoot 核心配置文件中有中文信息,會(huì)出現(xiàn)亂碼:
? 一般在配置文件中,不建議出現(xiàn)中文(注釋除外)
? 如果有,可以先轉(zhuǎn)化為 ASCII 碼

5)友情提示
大家如果是從其它地方拷貝的配置文件,一定要將里面的空格刪干凈
5、Spring Boot 前端使用 JSP
項(xiàng)目名稱:009-springboot-jsp
在 pom.xml 文件中配置以下依賴項(xiàng)

1)在 pom.xml 的 build 標(biāo)簽中要配置以下信息
SpringBoot 要求 jsp 文件必須編譯到指定的 META-INF/resources 目錄下才能訪問,否則訪問不到。其實(shí)官方已經(jīng)更建議使用模板技術(shù)(后面會(huì)講模板技術(shù))

、

2)在 application.properties 文件配置 Spring MVC 的視圖展示為jsp,這里相當(dāng)于 Spring MVC 的配置

集成完畢之后,剩下的步驟和我們使用 Spring MVC 一樣application.yml 格式的配置文件

3)在 com.a(chǎn)bc.springboot.controller 包下創(chuàng)建 JspController 類,并編寫代碼

4)在 src/main 下創(chuàng)建一個(gè) webapp 目錄,然后在該目錄下新建index.jsp 頁面 ,如果在webapp目錄下右鍵,沒有創(chuàng)建jsp的選項(xiàng),可以在Project Structure中指定webapp為 Web Resource Directory

5)在 jsp 中獲取 Controller 傳遞過來的數(shù)據(jù)

6)重新運(yùn)行 Application,通過瀏覽器訪問測(cè)試

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-

落地?zé)o錫!京東首個(gè)物流機(jī)器人超級(jí)工廠來了
-

OpenAI發(fā)布的AI瀏覽器,市場(chǎng)為何反應(yīng)強(qiáng)烈?
-

馬云重返一線督戰(zhàn),阿里重啟創(chuàng)始人模式
-

機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-

存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬
-

長(zhǎng)安汽車母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-

豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-

字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
最新活動(dòng)更多
-
6月30日立即申請(qǐng)?jiān)囉?> 【免費(fèi)試用】旭之源工業(yè)電源一一機(jī)器人的穩(wěn)定“心臟“
-
精彩回顧立即查看>> 【限時(shí)免費(fèi)】物理場(chǎng)仿真助力生物醫(yī)學(xué)領(lǐng)域技術(shù)創(chuàng)新
-
精彩回顧立即查看>> 【直播】 智測(cè)未來·2026海克斯康春季產(chǎn)品創(chuàng)新日
-
精彩回顧立即查看>> 【線下論壇】新唐科技×芯唐南京 2026 年度研討會(huì)
-
精彩回顧立即查看>> OFweek 2026(第十五屆)中國(guó)機(jī)器人產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 維科杯· OFweek 2025中國(guó)機(jī)器人行業(yè)年度評(píng)選
推薦專題
-
2 華為,重大突破!
- 1 人形機(jī)器人“第一股”來了!宇樹科技即將上會(huì)
- 2 全球股市陷AI獨(dú)大結(jié)構(gòu)性瘋狂
- 3 AI狂歡遇上油價(jià)破百,全球股市還能漲多久? | 產(chǎn)聯(lián)看全球
- 4 DeepSeek融資500億,梁文鋒難逃資本局
- 5 谷歌2026 I/O大會(huì)完整回顧:模型依然重要,但智能體正在接管一切
- 6 全球資本,重倉中國(guó)機(jī)器人
- 7 Figure AI 交付突破350臺(tái),陪跑特斯拉會(huì)迎來iPhone 時(shí)刻嗎?
- 8 Anthropic發(fā)布2028年全球AI領(lǐng)導(dǎo)力的兩種情景報(bào)告
- 9 “國(guó)產(chǎn)GPU第一股”摩爾線程首季扭虧,但造血能力仍待考驗(yàn)
- 10 特斯拉宣布監(jiān)督版FSD登陸中國(guó)?
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市


分享





