天天看點

springboot value注解預設值_剛坐下,一個面試官居然問了我 30個Spring Boot問題!

作者:xiaoxiaoxiaoka

鍊:blog.csdn.net/qq_14958051/article/details/106568520

前言

從最開始的,SSH到SpringMVC,随着Spring的發展,使得開發越來越容易了,SpringBoot已經成為Java程式員必會的一項,以下給小夥伴整理了30道相關面試題,也可以作為知識點,學習收藏起來。

1.什麼是SpringBoot?

通過Spring Boot,可以輕松地建立獨立的,基于生産級别的Spring的應用程式,您可以“運作”它們。大多數Spring Boot應用程式需要最少的Spring配置。

2.SpringBoot的特征?

  • 建立獨立的Spring應用程式
  • 直接嵌入Tomcat,Jetty或Undertow(無需部署WAR檔案)
  • 提供固化的“starter”依賴項,以簡化建構配置
  • 盡可能自動配置Spring和3rd Party庫
  • 提供可用于生産的功能,例如名額,運作狀況檢查和外部化配置
  • 完全沒有代碼生成,也不需要XML配置

3.如何快速建構一個SpringBoot項目?

  • 通過Web界面使用。http://start.spring.io
  • 通過Spring Tool Suite使用。
  • 通過IntelliJ IDEA使用。
  • 使用Spring Boot CLI使用。

4.SpringBoot啟動類注解?它是由哪些注解組成?

@SpringBootApplication

  • @SpringBootConfiguration:組合了 @Configuration 注解,實作配置檔案的功能。
  • @EnableAutoConfiguration:打開自動配置的功能,也可以關閉某個自動配置的選項。
  • @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
  • @ComponentScan:Spring元件掃描

5.什麼是yaml?

YAML(/ˈjæməl/,尾音類似camel駱駝)是一個可讀性高,用來表達資料序列化的格式。YAML參考了其他多種語言,包括:C語言、Python、Perl。更具有結構性。

6.SpringBoot支援配置檔案的格式?

1.properties

2.yml

java:
           

7.SpringBoot啟動方式?

  1. main方法
  2. 指令行 java -jar 的方式
  3. mvn/gradle

8.SpringBoot需要獨立的容器運作?

不需要,内置了 Tomcat/Jetty。

9.SpringBoot配置途徑?

  1. 指令行參數
  2. java:comp/env裡的JNDI屬性
  3. JVM系統屬性
  4. 作業系統環境變量
  5. 随機生成的帶random.*字首的屬性(在設定其他屬性時,可以引用它們,比如${random. long})
  6. 應用程式以外的application.properties或者appliaction.yml檔案
  7. 打包在應用程式内的application.properties或者appliaction.yml檔案
  8. 通過@PropertySource标注的屬性源
  9. 預設屬性

tips:這個清單按照優先級排序,也就是說,任何在高優先級屬性源裡設定的屬性都會覆寫低優先級的相同屬性。

10.application.properties和application.yml檔案可放位置?優先級?

  1. 外置,在相對于應用程式運作目錄的/config子目錄裡。
  2. 外置,在應用程式運作的目錄裡。
  3. 内置,在config包内。
  4. 内置,在Classpath根目錄。

    這個清單按照優先級排序,優先級高的會覆寫優先級低的。

    當然我們可以自己指定檔案的位置來加載配置檔案。

11.SpringBoot自動配置原理?

@EnableAutoConfiguration (開啟自動配置) 該注解引入了AutoConfigurationImportSelector,該類中的方法會掃描所有存在META-INF/spring.factories的jar包。

12.SpringBoot熱部署方式?

  • spring-boot-devtools
  • Spring Loaded
  • Jrebel
  • 模版熱部署

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

bootstrap.yml 優先于application.yml

14.SpringBoot如何修改端口号?

yml中:

server 
           

properties:

指令1:

指令2:

15.開啟SpringBoot特性的幾種方式?

  1. 繼承spring-boot-starter-parent項目
  2. 導入spring-boot-dependencies項目依賴

16.SpringBoot如何相容Spring項目?

在啟動類加:

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

17.SpringBoot配置監控?

<dependency> 
           

18.獲得Bean裝配報告資訊通路哪個端點?

/beans 端點

19.關閉應用程式通路哪個端點?

/shutdown

該端點預設是關閉的,如果開啟,需要如下設定。

 endpoints:
           

或者properties格式也是可以的。

20.檢視釋出應用資訊通路哪個端點?

/info

21.針對請求通路的幾個組合注解?

@PatchMapping

@PostMapping

@GetMapping

@PutMapping

@DeleteMapping

22.SpringBoot 中的starter?

可以了解成對依賴的一種合成,starter會把一個或一套功能相關依賴都包含進來,避免了自己去依賴費事,還有各種包的沖突問題。大大的提升了開發效率。

并且相關配置會有一個預設值,如果我們自己去配置,就會覆寫預設值。

23.SpringBoot內建Mybatis?

mybatis-spring-boot-starter

24.什麼是SpringProfiles?

一般來說我們從開發到生産,經過開發(dev)、測試(test)、上線(prod)。不同的時刻我們會用不同的配置。Spring Profiles 允許使用者根據配置檔案(dev,test,prod 等)來注冊 bean。它們可以讓我們自己選擇什麼時候用什麼配置。

25.不同的環境的配置檔案?

可以是 application-{profile}.properties/yml ,但預設是啟動主配置檔案application.properties,一般來說我們的不同環境配置如下。

  • application.properties

    :主配置檔案
  • application-dev.properties

    :開發環境配置檔案
  • application-test.properties

    :測試環境配置檔案
  • application.prop-properties

    :生産環境配置檔案

26.如何激活某個環境的配置?

比如我們激活開發環境。

yml:

spring:
           

properties:

指令行:

27.編寫測試用例的注解?

@SpringBootTest

28.SpringBoot異常處理相關注解?

@ControllerAdvice

@ExceptionHandler

29.SpringBoot 1.x 和 2.x差別?·······

  1. SpringBoot 2基于Spring5和JDK8,Spring 1x用的是低版本。
  2. 配置變更,參數名等。
  3. SpringBoot2相關的插件最低版本很多都比原來高
  4. 2.x配置中的中文可以直接讀取,不用轉碼
  5. Actuator的變化
  6. CacheManager 的變化

30.SpringBoot讀取配置相關注解有?

  • @PropertySource
  • @Value
  • @Environment
  • @ConfigurationProperties

參考:

  • 《SpringBoot實戰(第4版)》
  • 《Spring Boot程式設計思想》
  • 《深入淺出Spring Boot 2.x》
  • https://spring.io/projects/spring-boot
  • 百度百科

(完)

最近熱文:

分享一份Java架構師學習資料!

消息隊列面試連環炮,你抗得住嗎?

阿裡面試題:如何檢測并避免 Java 中的死鎖?

Windows平台上三款提高效率的免費神器!

我為什麼要對 JSP 說再見!!!

Dubbo 序列化協定 5 連問,這誰接得住啊?

NullPointerException 的處理新方式

Java集合架構綜述,這篇讓你吃透!

——長按關注Java大後端——

springboot value注解預設值_剛坐下,一個面試官居然問了我 30個Spring Boot問題!
springboot value注解預設值_剛坐下,一個面試官居然問了我 30個Spring Boot問題!

戳原文,擷取一份面試題資料!

繼續閱讀