版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
SpringBoot框架開發(fā)—SpringBoot核心配置CONTENTS自動(dòng)化配置01.全局配置02.自定義配置03.多環(huán)境配置04.本節(jié)知識(shí)點(diǎn)00知識(shí)點(diǎn)了解掌握熟練精通注解@SpringBootApplication的作用
√
perties配置文件的使用
√application.yml配置文件的使用
√
Yml文件格式√
注入自定義屬性到字段
√
注入自定義屬性到對(duì)象
√
注入自定義配置文件
√
編寫配置類
√
Profile配置
√
PART01自動(dòng)化配置自動(dòng)化配置01@SpringBootApplication依賴其他幾個(gè)注解,其中@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan三個(gè)注解起著關(guān)鍵作用。1)@SpringBootConfiguration:這是SpringBoot項(xiàng)目的配置注解,這也是一個(gè)組合注解。2)@EnableAutoConfiguration:?jiǎn)⒂米詣?dòng)配置,該注解會(huì)使SpringBoot根據(jù)項(xiàng)目中依賴的jar包自動(dòng)配置項(xiàng)目的配置項(xiàng)。如:我們添加了spring-boot-starter-web的依賴,項(xiàng)目中也就會(huì)引入SpringMVC的依賴,SpringBoot就會(huì)自動(dòng)配置tomcat和SpringMVC。3)@ComponentScan:默認(rèn)掃描@SpringBootApplication所在類的同級(jí)目錄以及它的子目錄。@SpringBootApplication自動(dòng)化配置01
啟動(dòng)類的main方法中調(diào)用了SpringApplication對(duì)象的run方法,應(yīng)用程序開始運(yùn)行,實(shí)際上是調(diào)用它的重載的靜態(tài)方法。
在SpringApplication源碼中,定義了BeanDefinition實(shí)例,這樣就能去啟動(dòng)上下文,處理Bean容器了,容器啟動(dòng)完成后,整個(gè)SpringBoot程序就啟動(dòng)完成。SpringApplication對(duì)象PART02全局配置全局配置02配置文件pertiesapplication.yaml存放路徑:src/main/resource目錄或者類路徑的/config全局配置02【實(shí)例3-5】【任務(wù)要求】
使用IDEA創(chuàng)建SpringBoot項(xiàng)目,并使用全局配置文件修改HTPP監(jiān)聽端口為8088,設(shè)定應(yīng)用的上下文路徑為/root。
perties02【任務(wù)實(shí)現(xiàn)】新建Maven工程,在resources文件夾下創(chuàng)建一個(gè)名為“perties”的文件。perties02【任務(wù)實(shí)現(xiàn)】2.SpringBoot創(chuàng)建的Web應(yīng)用中,默認(rèn)的HTPP監(jiān)聽端口為8080,下面我們使用全局配置文件修改為8088,并設(shè)定應(yīng)用的上下文路徑,需要在perties文件中添加如下代碼段。#設(shè)定http監(jiān)聽端口
server.port=8088
#設(shè)定應(yīng)用的context-path
server.servlet.context-path=/boot
更多配置屬性,詳見官網(wǎng):https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html。application.yml02【任務(wù)實(shí)現(xiàn)】新建Maven工程,在resources文件夾下創(chuàng)建一個(gè)名為“application.yml”的文件,修改HTTP監(jiān)聽端口的代碼段:server:
port:8088
servlet:
context-path:/bootapplication.yml02yml基本語法:key:(空格)value,注意事項(xiàng)如下:1)以縮進(jìn)代表層級(jí)關(guān)系,縮進(jìn)不允許使用tab只能使用空格2)一切以“:”為核心,冒“:”是英文的。3)冒號(hào)之后的空格必須有,空格的個(gè)數(shù)不重要。4)大小寫敏感。5)注釋以“#”開頭,如果寫在“:”后,必須在“:”后添加空格。yml基本語法PART03自定義配置自定義配置03注入自定義屬性到字段中【實(shí)例3-6】【任務(wù)要求】在SpringBoot項(xiàng)目中,使用配置文件注入自定義屬性name,并讀取屬性值。使用Spring框架中的注解@Value即可,通常用來配置單個(gè)環(huán)境變量。自定義配置03【任務(wù)實(shí)現(xiàn)】首先在application.properties配置文件中,添加自定義屬性name。name=springboot設(shè)置自定義屬性自定義配置03【任務(wù)實(shí)現(xiàn)】2.使用@Value注入屬性需要使用該屬性時(shí),只需要在定義的變量上使用注解@Value,通過$取出來,代碼如下:@RestController
publicclassPropertiesController{
@Value("${name}")
privateStringname;
@RequestMapping("/getName")
publicStringgetName(){
returnname;
}}自定義配置03注入自定義屬性到對(duì)象中【實(shí)例3-7】【任務(wù)要求】
在SpringBoot項(xiàng)目中,使用配置文件注入自定義屬性game.id和,并讀取屬性值。
使用@ConfigurationProperties注解批量注入屬性值,要保證配置文件中的屬性與對(duì)應(yīng)實(shí)體類的屬性一致,否則無法正確獲取并注入屬性值。自定義配置03【任務(wù)實(shí)現(xiàn)】首先在application.properties配置文件中,添加自定義屬性。game.id=1
=lily設(shè)置自定義屬性自定義配置03【任務(wù)實(shí)現(xiàn)】2.使用@ConfigurationProperties注入屬性定義一個(gè)對(duì)象,加上注解@Component和@ConfigurationProperties(prefix=“game”),可見注解來自于boot包。@Component
@ConfigurationProperties(prefix="game")
publicclassGame{
privateintid;
privateStringname;//get和set方法
}自定義配置03【任務(wù)實(shí)現(xiàn)】3.讀取屬性值需要使用該屬性時(shí),通過注入Bean對(duì)象,獲取相關(guān)的屬性值,代碼如下。@RestController
publicclassPropertiesController{
@Autowired
privateGamegameInfo;
@RequestMapping("/getPerson")
publicStringgetGame(){
returngameInfo.toString();
}}自定義配置03注入自定義配置文件【實(shí)例3-8】【任務(wù)要求】在SpringBoot項(xiàng)目中,添加自己定義的配置文件test.Properties,并讀取其屬性值。
實(shí)際上,很多時(shí)候我們卻會(huì)自定義配置文件,這些文件就需要我們進(jìn)行手動(dòng)加載,SpringBoot是不會(huì)自動(dòng)識(shí)別這些文件的。自定義配置03【任務(wù)實(shí)現(xiàn)】在resources文件夾下創(chuàng)建test.Properties自定義配置文件,添加屬性。test.id=10
=test創(chuàng)建自定義配置文件自定義配置03【任務(wù)實(shí)現(xiàn)】
如果想讀取自定義配置文件中的屬性值,需要加上@PropertyResource指定文件路徑,代碼如下:@Component
@PropertySource(“classpath:perties”)
@ConfigurationProperties(prefix=“test”)
publicclassTestProperties{
privateintid;
privateStringname;
//get和set方法
}2.使用@PropertyResource注入配置文件自定義配置03【任務(wù)實(shí)現(xiàn)】
需要使用自定義配置文件中的屬性時(shí),通過注入Bean對(duì)象,獲取相關(guān)的屬性值,代碼如下:@RestController
publicclassPropertiesController{
@Autowired
TestConfigtest;
@RequestMapping("/getTestName")
publicStringgetTestConfig(){
returntest.getName();
}}3.讀取配置文件中屬性自定義配置03配置類
在SpringBoot框架中,通常使用@Configuration注解定義一個(gè)配置類,SpringBoot會(huì)自動(dòng)掃描和識(shí)別配置類,從而替換傳統(tǒng)Spring框架中的XML配置文件。
當(dāng)定義一個(gè)配置類后,還需要在類中的方法上使用@Bean注解進(jìn)行組件配置,將方法的返回對(duì)象注入到Spring容器中,并且組件名稱默認(rèn)使用的是方法名,當(dāng)然也可以使用@Bean注解的name或value屬性自定義組件的名稱。@Configuration
publicclassMyconfig{
@Bean
publicvoidconfigTest(){
……//配置內(nèi)容
}
}PART04多環(huán)境配置多環(huán)境配置04
在開發(fā)中,我們的項(xiàng)目通常有多個(gè)環(huán)境,例如開發(fā)環(huán)境(develop)、測(cè)試環(huán)境(test)、生產(chǎn)環(huán)境(production
)等。在打包部署時(shí),需要經(jīng)常切換不同的參數(shù),比如開發(fā)環(huán)境和生產(chǎn)環(huán)境的數(shù)據(jù)庫(kù),基本是不同的兩個(gè)數(shù)據(jù)庫(kù),那么我們需要配置不同的數(shù)據(jù)庫(kù)連接地址,非常麻煩,而且每次手動(dòng)修改容易出錯(cuò)。SpringBoot給我們提供了非常好的支持,那就是多環(huán)境配置。我們可以將多種環(huán)境的參數(shù)一起配置在項(xiàng)目中,只需要執(zhí)行不同的運(yùn)行命令,就可以達(dá)到切換環(huán)境的目的了。單元測(cè)試04【實(shí)例3-9】【任務(wù)要求】
在SpringBoot項(xiàng)目中,配置開發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境三個(gè)環(huán)境的參數(shù),項(xiàng)目默認(rèn)讀取開發(fā)環(huán)境的參數(shù)。
單元測(cè)試04【任務(wù)實(shí)現(xiàn)】創(chuàng)建多環(huán)境配置文件在resources目錄下創(chuàng)建三個(gè)環(huán)境的配置文件:
注意:配置文件一定要以application開頭,然后加"-名字",
這個(gè)名字可以自定義,主要用于區(qū)分。單元測(cè)試04【任務(wù)實(shí)現(xiàn)】2.添加環(huán)境參數(shù)在開發(fā)環(huán)境的配置文件perties中添加相關(guān)參數(shù):
同樣,也可以分別在perties、perties配置文件中添加對(duì)應(yīng)環(huán)境的配置參數(shù)。server.port=8088
#使用druid數(shù)據(jù)源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#jdbc:mysql://開發(fā)環(huán)境數(shù)據(jù)庫(kù)IP:端口號(hào)/數(shù)據(jù)庫(kù)名?serverTimezone=UTC
spring.datasource.url=
#開發(fā)環(huán)境數(shù)據(jù)庫(kù)用戶名
spring.datasource.u
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《福清龍眼綠色栽培技術(shù)規(guī)程》編制說明
- 2024年08月淮南市大通區(qū)市場(chǎng)監(jiān)督管理局公開招聘2人筆試歷年典型考點(diǎn)解題思路附帶答案詳解
- 2024年3月上半年四川南充市高坪區(qū)招考聘用教師46人筆試歷年典型考點(diǎn)解題思路附帶答案詳解
- 如何在小學(xué)生中培養(yǎng)正確的學(xué)習(xí)態(tài)度
- 體育場(chǎng)館服務(wù)合同范本
- 2025屆廣東省惠州市惠東縣高三模擬預(yù)測(cè)地理試題(含答案解析)
- 老師在黑板上畫了一幅城市地圖
- 小學(xué)英語模擬練習(xí)試卷期末復(fù)習(xí)模擬考試
- 初中模擬試卷:音樂篇
- 口罩的起源和使用方法
- 2024年高考英語小作文真題全解全析專題02-2023全國(guó)乙卷
- 2024年高速公路養(yǎng)護(hù)行業(yè)分析報(bào)告及未來發(fā)展趨勢(shì)
- 腸道病毒課件
- 青島版二年級(jí)上冊(cè)數(shù)學(xué)《認(rèn)識(shí)方向》單元整體備課設(shè)計(jì)
- 教科版小學(xué)五年級(jí)科學(xué)上冊(cè)-《地球的結(jié)構(gòu)》原創(chuàng)課件
- 2024年廉潔文化線上知識(shí)競(jìng)賽題庫(kù)及答案
- 2023智慧光伏電站建設(shè)評(píng)價(jià)評(píng)分細(xì)則表
- 2024年上海申能集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 電動(dòng)汽車的動(dòng)力電池
- 一次性使用胸腔引流導(dǎo)管套件產(chǎn)品技術(shù)要求參考版
- 桌椅售后服務(wù)承諾書示例
評(píng)論
0/150
提交評(píng)論