成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

吐血整理 20 道 Spring Boot 面試題,我經(jīng)常拿來面試別人!

haoguo / 3660人閱讀

摘要:你如何理解中的可以理解為啟動器,它包含了一系列可以集成到應(yīng)用里面的依賴包,你可以一站式集成及其他技術(shù),而不需要到處找示例代碼和依賴包。如你想使用訪問數(shù)據(jù)庫,只要加入啟動器依賴就能使用了。

面試了一些人,簡歷上都說自己熟悉 Spring Boot, 或者說正在學(xué)習(xí) Spring Boot,一問他們時,都只停留在簡單的使用階段,很多東西都不清楚,也讓我對面試者大失所望。

下面,我給大家總結(jié)下有哪些 Spring Boot 的面試題,這是我經(jīng)常拿來問面試者的,希望對你有幫助。

1、什么是 Spring Boot?

Spring Boot 是 Spring 開源組織下的子項目,是 Spring 組件一站式解決方案,主要是簡化了使用 Spring 的難度,簡省了繁重的配置,提供了各種啟動器,開發(fā)者能快速上手。

更多 Spring Boot 詳細介紹請看這篇文章《什么是Spring Boot?》。

2、為什么要用 Spring Boot?

Spring Boot 優(yōu)點非常多,如:

獨立運行

簡化配置

自動配置

無代碼生成和XML配置

應(yīng)用監(jiān)控

上手容易

...

Spring Boot 集這么多優(yōu)點于一身,還有理由不使用它呢?

3、Spring Boot 的核心配置文件有哪幾個?它們的區(qū)別是什么?

Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件。

application 配置文件這個容易理解,主要用于 Spring Boot 項目的自動化配置。

bootstrap 配置文件有以下幾個應(yīng)用場景。

使用 Spring Cloud Config 配置中心時,這時需要在 bootstrap 配置文件中添加連接到配置中心的配置屬性來加載外部配置中心的配置信息;

一些固定的不能被覆蓋的屬性;

一些加密/解密的場景;

具體請看這篇文章《Spring Boot 核心配置文件詳解》。

4、Spring Boot 的配置文件有哪幾種格式?它們有什么區(qū)別?

.properties 和 .yml,它們的區(qū)別主要是書寫格式不同。

1).properties

app.user.name = javastack

2).yml

app:
  user:
    name: javastack

另外,.yml 格式不支持 @PropertySource 注解導(dǎo)入配置。

5、Spring Boot 的核心注解是哪個?它主要由哪幾個注解組成的?

啟動類上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要組合包含了以下 3 個注解:

@SpringBootConfiguration:組合了 @Configuration 注解,實現(xiàn)配置文件的功能。

@EnableAutoConfiguration:打開自動配置的功能,也可以關(guān)閉某個自動配置的選項,如關(guān)閉數(shù)據(jù)源自動配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。

@ComponentScan:Spring組件掃描。

6、開啟 Spring Boot 特性有哪幾種方式?

1)繼承spring-boot-starter-parent項目

2)導(dǎo)入spring-boot-dependencies項目依賴

具體請參考這篇文章《Spring Boot開啟的2種方式》。

7、Spring Boot 需要獨立的容器運行嗎?

可以不需要,內(nèi)置了 Tomcat/ Jetty 等容器。

8、運行 Spring Boot 有哪幾種方式?

1)打包用命令或者放到容器中運行

2)用 Maven/ Gradle 插件運行

3)直接執(zhí)行 main 方法運行

9、Spring Boot 自動配置原理是什么?

注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自動配置的核心,首先它得是一個配置文件,其次根據(jù)類路徑下是否有這個類去自動配置。

具體看這篇文章《Spring Boot自動配置原理、實戰(zhàn)》。

10、Spring Boot 的目錄結(jié)構(gòu)是怎樣的?

cn
 +- javastack
     +- MyApplication.java
     |
     +- customer
     |   +- Customer.java
     |   +- CustomerController.java
     |   +- CustomerService.java
     |   +- CustomerRepository.java
     |
     +- order
         +- Order.java
         +- OrderController.java
         +- OrderService.java
         +- OrderRepository.java

這個目錄結(jié)構(gòu)是主流及推薦的做法,而在主入口類上加上 @SpringBootApplication 注解來開啟 Spring Boot 的各項能力,如自動配置、組件掃描等。具體看這篇文章《Spring Boot 主類及目錄結(jié)構(gòu)介紹》。

11、你如何理解 Spring Boot 中的 Starters?

Starters可以理解為啟動器,它包含了一系列可以集成到應(yīng)用里面的依賴包,你可以一站式集成 Spring 及其他技術(shù),而不需要到處找示例代碼和依賴包。如你想使用 Spring JPA 訪問數(shù)據(jù)庫,只要加入 spring-boot-starter-data-jpa 啟動器依賴就能使用了。

Starters包含了許多項目中需要用到的依賴,它們能快速持續(xù)的運行,都是一系列得到支持的管理傳遞性依賴。具體請看這篇文章《Spring Boot Starters啟動器》。

12、如何在 Spring Boot 啟動的時候運行一些特定的代碼?

可以實現(xiàn)接口 ApplicationRunner 或者 CommandLineRunner,這兩個接口實現(xiàn)方式一樣,它們都只提供了一個 run 方法,具體請看這篇文章《Spring Boot Runner啟動器》。

13、Spring Boot 有哪幾種讀取配置的方式?

Spring Boot 可以通過 @PropertySource,@Value,@Environment, @ConfigurationProperties 來綁定變量,具體請看這篇文章《Spring Boot讀取配置的幾種方式》。

14、Spring Boot 支持哪些日志框架?推薦和默認(rèn)的日志框架是哪個?

Spring Boot 支持 Java Util Logging, Log4j2, Lockback 作為日志框架,如果你使用 Starters 啟動器,Spring Boot 將使用 Logback 作為默認(rèn)日志框架,具體請看這篇文章《Spring Boot日志集成》。

15、SpringBoot 實現(xiàn)熱部署有哪幾種方式?

主要有兩種方式:

Spring Loaded

Spring-boot-devtools

Spring-boot-devtools 使用方式可以參考這篇文章《Spring Boot實現(xiàn)熱部署》。

16、你如何理解 Spring Boot 配置加載順序?

在 Spring Boot 里面,可以使用以下幾種方式來加載配置。

1)properties文件;

2)YAML文件;

3)系統(tǒng)環(huán)境變量;

4)命令行參數(shù);

等等……

具體請看這篇文章《Spring Boot 配置加載順序詳解》。

17、Spring Boot 如何定義多套不同環(huán)境配置?

提供多套配置文件,如:

applcation.properties

application-dev.properties

application-test.properties

application-prod.properties

運行時指定具體的配置文件,具體請看這篇文章《Spring Boot Profile 不同環(huán)境配置》。

18、Spring Boot 可以兼容老 Spring 項目嗎,如何做?

可以兼容,使用 @ImportResource 注解導(dǎo)入老 Spring 項目配置文件。

19、保護 Spring Boot 應(yīng)用有哪些方法?

在生產(chǎn)中使用HTTPS

使用Snyk檢查你的依賴關(guān)系

升級到最新版本

啟用CSRF保護

使用內(nèi)容安全策略防止XSS攻擊

...

更多請看這篇文章《10 種保護 Spring Boot 應(yīng)用的絕佳方法》。

20、Spring Boot 2.X 有什么新特性?與 1.X 有什么區(qū)別?

配置變更

JDK 版本升級

第三方類庫升級

響應(yīng)式 Spring 編程支持

HTTP/2 支持

配置屬性綁定

更多改進與加強...

具體請看這篇文章《Spring Boot 2.x 新特性總結(jié)及遷移指南》。

終于寫完了,希望大家好好學(xué)習(xí)下再去面試,不然再被面試官問這些問題,又答不上來就尷尬了。弄懂了這些問題,對你理解 Spring Boot 也有非常大的幫助。

這 20 道面試題就算第一季吧,后面會整理更多季 Spring Boot/Cloud 相關(guān)的面試題。更多的 Spring Boot 系列技術(shù)文章,請關(guān)注微信公眾號:Java技術(shù)棧(id: javastack),在后臺回復(fù)關(guān)鍵字 "boot" 獲取。

更多干貨推薦

1.史上最強 Java 中高級面試題整理

2.史上最強 Spring Boot & Cloud 教程整理

3.史上最強架構(gòu)設(shè)計分布式技術(shù)干貨整理

本文原創(chuàng)首發(fā)于微信公眾號:Java技術(shù)棧(id:javastack),關(guān)注公眾號在后臺回復(fù) "boot" 可獲取更多,轉(zhuǎn)載請原樣保留本信息。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/71694.html

相關(guān)文章

  • 【推薦】最新200篇:技術(shù)文章整理

    摘要:作為面試官,我是如何甄別應(yīng)聘者的包裝程度語言和等其他語言的對比分析和主從復(fù)制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復(fù)實現(xiàn)故障恢復(fù)自動化詳解哨兵技術(shù)查漏補缺最易錯過的技術(shù)要點大掃盲意外宕機不難解決,但你真的懂?dāng)?shù)據(jù)恢復(fù)嗎每秒 作為面試官,我是如何甄別應(yīng)聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復(fù)制的原理詳...

    BicycleWarrior 評論0 收藏0
  • 【推薦】最新200篇:技術(shù)文章整理

    摘要:作為面試官,我是如何甄別應(yīng)聘者的包裝程度語言和等其他語言的對比分析和主從復(fù)制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復(fù)實現(xiàn)故障恢復(fù)自動化詳解哨兵技術(shù)查漏補缺最易錯過的技術(shù)要點大掃盲意外宕機不難解決,但你真的懂?dāng)?shù)據(jù)恢復(fù)嗎每秒 作為面試官,我是如何甄別應(yīng)聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復(fù)制的原理詳...

    tommego 評論0 收藏0
  • 史上最全 40 Dubbo 面試及答案,看完碾壓面試官!

    摘要:更是中高級面試過程中經(jīng)常會問的技術(shù),無論你是否用過,你都必須熟悉。下面我為大家準(zhǔn)備了一些常見的的面試題,一些是我經(jīng)常問別人的,一些是我過去面試遇到的一些問題,總結(jié)給大家,希望對大家能有所幫助。 想往高處走,怎么能不懂 Dubbo? Dubbo是國內(nèi)最出名的分布式服務(wù)框架,也是 Java 程序員必備的必會的框架之一。Dubbo 更是中高級面試過程中經(jīng)常會問的技術(shù),無論你是否用過,你都必須...

    nemo 評論0 收藏0
  • 墻裂推薦:搜云庫技術(shù)團隊,面試必備的技術(shù)干貨

    摘要:今天整理了一下近大半年以來的一些文章,和我的預(yù)期一樣,很多文章我都忘記自己曾經(jīng)寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉(zhuǎn)發(fā)。 今天整理了一下近大半年以來的一些文章,和我的預(yù)期一樣,很多文章我都忘記自己曾經(jīng)寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉(zhuǎn)發(fā)。 面試必備 面試必備:深入Spring MVC DispatchServlet 源碼...

    SegmentFault 評論0 收藏0

發(fā)表評論

0條評論

haoguo

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<