2-Spring-Boot框架開發(fā)-SpringBoot核心配置_第1頁
2-Spring-Boot框架開發(fā)-SpringBoot核心配置_第2頁
2-Spring-Boot框架開發(fā)-SpringBoot核心配置_第3頁
2-Spring-Boot框架開發(fā)-SpringBoot核心配置_第4頁
2-Spring-Boot框架開發(fā)-SpringBoot核心配置_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論