小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

2020最新總結(jié),大廠(chǎng)常問(wèn)的SpringBoot高頻面試題(30題+答案+學(xué)習(xí)導(dǎo)圖)

 頭號(hào)碼甲 2021-06-23

前言 

今天跟大家分享下SpringBoot 常見(jiàn)高頻面試題的知識(shí)。

下面是小編關(guān)于SpringBoot的知識(shí)點(diǎn)總結(jié)了一個(gè)思維導(dǎo)圖,希望對(duì)大家所有幫助!

話(huà)不多說(shuō),下面我們開(kāi)始正題:

1. 什么是SpringBoot?

通過(guò)Spring Boot,可以輕松地創(chuàng)建獨(dú)立的,基于生產(chǎn)級(jí)別的Spring的應(yīng)用程序,您可以“運(yùn)行”它們。大多數(shù)Spring Boot應(yīng)用程序需要最少的Spring配置。

2. SpringBoot的特征?

  • 創(chuàng)建獨(dú)立的Spring應(yīng)用程序

  • 直接嵌入Tomcat,Jetty或Undertow(無(wú)需部署WAR文件)

  • 提供固化的“starter”依賴(lài)項(xiàng),以簡(jiǎn)化構(gòu)建配置

  • 盡可能自動(dòng)配置Spring和3rd Party庫(kù)

  • 提供可用于生產(chǎn)的功能,例如指標(biāo),運(yùn)行狀況檢查和外部化配置

  • 完全沒(méi)有代碼生成,也不需要XML配置

3. 如何快速構(gòu)建一個(gè)SpringBoot項(xiàng)目?

  • 通過(guò)Web界面使用。http://start.

  • 通過(guò)Spring Tool Suite使用。

  • 通過(guò)IntelliJ IDEA使用。

  • 使用Spring Boot CLI使用。

4. SpringBoot啟動(dòng)類(lèi)注解?它是由哪些注解組成?

@SpringBootApplication

  • @SpringBootConfifiguration:組合了 @Confifiguration 注解,實(shí)現(xiàn)配置文件的功能。

  • @EnableAutoConfifiguration:打開(kāi)自動(dòng)配置的功能,也可以關(guān)閉某個(gè)自動(dòng)配置的選項(xiàng)。

  • @SpringBootApplication(exclude = { DataSourceAutoConfifiguration.class })

  • @ComponentScan:Spring組件掃描

5. 什么是yaml?

YAML(/?j?m?l/,尾音類(lèi)似camel駱駝)是一個(gè)可讀性高,用來(lái)表達(dá)數(shù)據(jù)序列化的格式。YAML參考了其他多種語(yǔ)言,包括:C語(yǔ)言、Python、Perl。更具有結(jié)構(gòu)性。

6. SpringBoot支持配置文件的格式?

1.properties

java.xiaokaxiu.name = xiaoka 

2.yml

java: xiaokaxiu: name: xiaoka

7. SpringBoot啟動(dòng)方式?

1. main方法

2. 命令行 java -jar 的方式

3. mvn/gradle

8. SpringBoot需要獨(dú)立的容器運(yùn)行?

不需要,內(nèi)置了 Tomcat/Jetty。

9. SpringBoot配置途徑?

1. 命令行參數(shù)

2. java:comp/env里的JNDI屬性

3. JVM系統(tǒng)屬性

4. 操作系統(tǒng)環(huán)境變量

5. 隨機(jī)生成的帶random.*前綴的屬性(在設(shè)置其他屬性時(shí),可以引用它們,比如${random.

long})

6. 應(yīng)用程序以外的application.properties或者appliaction.yml文件

7. 打包在應(yīng)用程序內(nèi)的application.properties或者appliaction.yml文件

8. 通過(guò)@PropertySource標(biāo)注的屬性源

9. 默認(rèn)屬性

tips:這個(gè)列表按照優(yōu)先級(jí)排序,也就是說(shuō),任何在高優(yōu)先級(jí)屬性源里設(shè)置的屬性都會(huì)覆蓋低優(yōu)先級(jí)的相

同屬性。

10. application.properties和application.yml文件可放位置?優(yōu)先級(jí)?

1. 外置,在相對(duì)于應(yīng)用程序運(yùn)行目錄的/confifig子目錄里。

2. 外置,在應(yīng)用程序運(yùn)行的目錄里。

3. 內(nèi)置,在confifig包內(nèi)。

4. 內(nèi)置,在Classpath根目錄。

這個(gè)列表按照優(yōu)先級(jí)排序,優(yōu)先級(jí)高的會(huì)覆蓋優(yōu)先級(jí)低的。

當(dāng)然我們可以自己指定文件的位置來(lái)加載配置文件。

java -jar xiaoka.jar ———spring.config.location=/home/application.yml

11. SpringBoot自動(dòng)配置原理?

@EnableAutoConfifiguration (開(kāi)啟自動(dòng)配置) 該注解引入了AutoConfifigurationImportSelector,該類(lèi)中

的方法會(huì)掃描所有存在META-INF/spring.factories的jar包。

12. SpringBoot熱部署方式?

  • spring-boot-devtools

  • Spring Loaded

  • Jrebel

  • 模版熱部署

13.「bootstrap.yml」 和「application.yml」?

bootstrap.yml 優(yōu)先于application.yml

14. SpringBoot如何修改端口號(hào)?

yml中:

server : port : 8888

properties:

server.port = 8888 

命令1:

java -jar xiaoka.jar ——— server.port=8888 

命令2:

java - Dserver.port=8888 -jar xiaoka.jar

15. 開(kāi)啟SpringBoot特性的幾種方式?

1. 繼承spring-boot-starter-parent項(xiàng)目

2. 導(dǎo)入spring-boot-dependencies項(xiàng)目依賴(lài)

16. SpringBoot如何兼容Spring項(xiàng)目?

在啟動(dòng)類(lèi)加:

@ImportResource(locations = {"classpath:spring.xml"}) 

17. SpringBoot配置監(jiān)控?

<dependency> 
<groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-actuator</artifactId> 
</dependency> 

18. 獲得Bean裝配報(bào)告信息訪(fǎng)問(wèn)哪個(gè)端點(diǎn)?

/beans 端點(diǎn)

19. 關(guān)閉應(yīng)用程序訪(fǎng)問(wèn)哪個(gè)端點(diǎn)?

/shutdown

該端點(diǎn)默認(rèn)是關(guān)閉的,如果開(kāi)啟,需要如下設(shè)置。

endpoints: shutdown: enabled: true

或者properties格式也是可以的。

20. 查看發(fā)布應(yīng)用信息訪(fǎng)問(wèn)哪個(gè)端點(diǎn)?

/info

21. 針對(duì)請(qǐng)求訪(fǎng)問(wèn)的幾個(gè)組合注解?

@PatchMapping

@PostMapping

@GetMapping

@PutMapping

@DeleteMapping

22. SpringBoot 中的starter?

可以理解成對(duì)依賴(lài)的一種合成,starter會(huì)把一個(gè)或一套功能相關(guān)依賴(lài)都包含進(jìn)來(lái),避免了自己去依賴(lài)費(fèi)

事,還有各種包的沖突問(wèn)題。大大的提升了開(kāi)發(fā)效率。

并且相關(guān)配置會(huì)有一個(gè)默認(rèn)值,如果我們自己去配置,就會(huì)覆蓋默認(rèn)值。

23. SpringBoot集成Mybatis?

mybatis-spring-boot-starter

24. 什么是SpringProfifiles?

一般來(lái)說(shuō)我們從開(kāi)發(fā)到生產(chǎn),經(jīng)過(guò)開(kāi)發(fā)(dev)、測(cè)試(test)、上線(xiàn)(prod)。不同的時(shí)刻我們會(huì)用不同的配置。Spring Profifiles 允許用戶(hù)根據(jù)配置文件(dev,test,prod 等)來(lái)注冊(cè) bean。它們可以讓我們自己選擇什么時(shí)候用什么配置。

25. 不同的環(huán)境的配置文件?

可以是 application-{profifile}.properties/yml ,但默認(rèn)是啟動(dòng)主配置文件application.properties,一般

來(lái)說(shuō)我們的不同環(huán)境配置如下。

  • `application.properties`:主配置文件

  • `application-dev.properties`:開(kāi)發(fā)環(huán)境配置文件

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

  • `application.prop-properties`:生產(chǎn)環(huán)境配置文件

26. 如何激活某個(gè)環(huán)境的配置?

比如我們激活開(kāi)發(fā)環(huán)境。

yml:

spring: profiles: active: dev 

properties:

spring.profiles.active=dev 

命令行:

java -jar xiaoka-v1.0.jar ———spring.profiles.active=dev

27. 編寫(xiě)測(cè)試用例的注解?

@SpringBootTest

28. SpringBoot異常處理相關(guān)注解?

@ControllerAdvice

@ExceptionHandler

29. SpringBoot 1.x 和 2.x區(qū)別?·······

1. SpringBoot 2基于Spring5和JDK8,Spring 1x用的是低版本。

2. 配置變更,參數(shù)名等。

3. SpringBoot2相關(guān)的插件最低版本很多都比原來(lái)高

4. 2.x配置中的中文可以直接讀取,不用轉(zhuǎn)碼

5. Actuator的變化

6. CacheManager 的變化

30. SpringBoot讀取配置相關(guān)注解有?

  • @PropertySource

  • @Value

  • @Environment

  • @ConfifigurationProperties

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多