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

分享

java面試題 --- Spring②

 貪挽懶月 2022-06-20 發(fā)布于廣東

1. SpringBoot 有哪些優(yōu)點(diǎn)?

  • 簡單輕量,遠(yuǎn)離繁瑣配置,開箱即用;
  • 提供了大量的 starter,不用導(dǎo)入大量的 maven 依賴,不用擔(dān)心版本問題。

2. SpringBoot 的核心注解是什么?

  • @SpringBootApplication 是 SpringBoot 的核心注解,這個(gè)注解其實(shí)是一個(gè)是組合注解,它由 @ComponentScan、@Configuration 和 @EnableAutoConfiguration 三個(gè)注解構(gòu)成。@ComponentScan 是用來做 Spring 組件掃描的,即被掃描到的就會被 Spring 管理;@Configuration 是用來實(shí)現(xiàn)配置文件的功能;@EnableAutoConfiguration 是來實(shí)現(xiàn)自動配置功能的。

3. 什么是 Java config?

  • java config 就是用純 java 的方式來實(shí)現(xiàn)配置文件的功能。

4. 說一說 SpringBoot 自動裝配的原理。

  • SpringBoot 自動裝配的核心就是 @EnableAutoConfiguration 注解,它會掃描 META-INF/spring.factotires 文件中配置的需要進(jìn)行自動裝配的類名,然后根據(jù)類名,找到這些類對應(yīng)的 properties.java 類,讀取屬性進(jìn)行配置,然后加入到 IOC 容器中,這就完成了自動配置。

5. SpringBoot 配置文件有哪些格式?

  • .properties 和 .yml。

6. SpringBoot 可以用 xml 配置嗎?

  • 可以,通過 @ImportResource 注解就可以導(dǎo)入自定義的配置,但是 Spring 不推薦 xml 配置,推薦用 java config。

7. bootstrap.properties 和 application.properties 有什么區(qū)別?

  • bootstrap.properties 先加載,一般用于從配置中心拉取配置。

8. SpringBoot 項(xiàng)目如何分環(huán)境開發(fā)?

  • 不同的環(huán)境用不同的配置文件,比如開發(fā)用 dev,測試用 test,然后在 application.properties 中通過 spring.profile = dev就可以指定用哪個(gè)環(huán)境的配置文件。

9. 你在項(xiàng)目中是如何解決跨域問題的?

  • 通過 cors 來解決跨域問題,新建配置類實(shí)現(xiàn) WebMvcConfigurer 接口,重寫其 addCorsMappings 方法。也可以新建 CorsConfig 配置類,配置 CorsFilter 對象。

10. 什么是 SpringBoot starter?

  • 一站式配置,聚合了一組依賴的 maven 依賴,比如要創(chuàng)建 spring web 項(xiàng)目,只需要引入 spring-boot-web-starter 即可,它會自動引入所需的依賴并且處理好依賴關(guān)系。

11. 簡單介紹下 SpringCloud。

  • SpringCloud 是一個(gè)生態(tài),囊括了一系列的技術(shù),包括注冊中心,服務(wù)調(diào)用,服務(wù)熔斷降級,服務(wù)配置中心,服務(wù)網(wǎng)關(guān),消息總線,消息驅(qū)動,服務(wù)調(diào)用鏈路追蹤等。

12. SpringCloud 服務(wù)之間是怎么調(diào)用的?

  • 通過 open feign 調(diào)用,底層其實(shí)是 http 調(diào)用。

13. 服務(wù)網(wǎng)關(guān)你們用來做什么?

  • 統(tǒng)一對外的 API,同時(shí)也可以保護(hù)內(nèi)部的 API,所有的請求進(jìn)來先到網(wǎng)關(guān),在這里做了權(quán)限控制,身份校驗(yàn),冪等校驗(yàn)之后再進(jìn)行流量轉(zhuǎn)發(fā)。

14. 你們的冪等校驗(yàn)是怎么做的?

  • 攔截所有非 get 請求,將請求的參數(shù)以及地址拼接成一個(gè) key,然后去 Redis 中查詢該 key 是否有值,如果有就直接返回 Redis 中的結(jié)果,如果沒有,就將該請求轉(zhuǎn)發(fā)到對應(yīng)的服務(wù)中,將操作結(jié)果放到 Redis 中。

掃描二維碼

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多