SpringBoot和SpringCloud面試題

一. 什么是springboot

1.用來(lái)簡(jiǎn)化spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程 使用特定的方式來(lái)進(jìn)行配置(properties或yml文件)
2.創(chuàng)建獨(dú)立的spring引用程序 main方法運(yùn)行
3.嵌入的Tomcat 無(wú)需部署war文件
4.簡(jiǎn)化maven配置
5.自動(dòng)配置spring添加對(duì)應(yīng)功能starter自動(dòng)化配置

二.springboot常用的starter有哪些

可以去Maven倉(cāng)庫(kù)中搜索以下插件,pom文件依賴即可
Maven倉(cāng)庫(kù)官網(wǎng):http://mvnrepository.com/
1.spring-boot-starter-web (嵌入tomcat和web開(kāi)發(fā)需要servlet與jsp支持)
2.spring-boot-starter-data-jpa (數(shù)據(jù)庫(kù)支持)
3.spring-boot-starter-data-redis (redis數(shù)據(jù)庫(kù)支持)
4.spring-boot-starter-data-solr (solr搜索應(yīng)用框架支持)
5.mybatis-spring-boot-starter (第三方的mybatis集成starter)

三. springboot自動(dòng)配置的原理

1.@EnableAutoConfiguration這個(gè)注釋告訴SpringBoot“猜”你將如何想配置Spring,基于你已經(jīng)添加jar依賴項(xiàng)。如果spring-boot-starter-web已經(jīng)添加Tomcat和Spring MVC,這個(gè)注釋自動(dòng)將假設(shè)您正在開(kāi)發(fā)一個(gè)web應(yīng)用程序并添加相應(yīng)的spring設(shè)置然眼。會(huì)自動(dòng)去maven中讀取每個(gè)starter中的spring.factories文件 該文件里配置了所有需要被創(chuàng)建spring容器中的bean

2.使用@SpringbootApplication注解 可以解決根類或者配置類(我自己的說(shuō)法,就是main所在類)頭上注解過(guò)多的問(wèn)題葵腹,一個(gè)@SpringbootApplication相當(dāng)于@Configuration,@EnableAutoConfiguration和 @ComponentScan 并具有他們的默認(rèn)屬性值

四.springboot讀取配置文件的方式

    springboot默認(rèn)讀取配置文件為application.properties或者是application.yml
application.properties.PNG

springboot集成mybatis的過(guò)程
添加mybatis的starter maven依賴
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
在mybatis的接口中 添加@Mapper注解
在application.yml配置數(shù)據(jù)源信息

五. springboot如何添加【修改代碼】自動(dòng)重啟功能

    添加開(kāi)發(fā)者工具集=====spring-boot-devtools

六.微服務(wù)

    以前的模式是 所有的代碼在同一個(gè)工程中 部署在同一個(gè)服務(wù)器中 同一個(gè)項(xiàng)目的不同模塊不同功能互相搶占資源
    微服務(wù) 將工程根據(jù)不同的業(yè)務(wù)規(guī)則拆分成微服務(wù) 微服務(wù)部署在不同的機(jī)器上 服務(wù)之間進(jìn)行相互調(diào)用
    Java微服務(wù)的框架有 dubbo(只能用來(lái)做微服務(wù)),spring cloud(提供了服務(wù)的發(fā)現(xiàn)鲸匿,斷路器等)

七. springcloud如何實(shí)現(xiàn)服務(wù)的注冊(cè)和發(fā)現(xiàn)

    服務(wù)在發(fā)布時(shí) 指定對(duì)應(yīng)的服務(wù)名(服務(wù)名包括了IP地址和端口) 將服務(wù)注冊(cè)到注冊(cè)中心(eureka或者zookeeper)
    這一過(guò)程是springcloud自動(dòng)實(shí)現(xiàn) 只需要在main方法添加@EnableDisscoveryClient  同一個(gè)服務(wù)修改端口就可以啟動(dòng)多個(gè)實(shí)例
    調(diào)用方法:傳遞服務(wù)名稱通過(guò)注冊(cè)中心獲取所有的可用實(shí)例 通過(guò)負(fù)載均衡策略調(diào)用(ribbon和feign)對(duì)應(yīng)的服務(wù)

八.ribbon和feign區(qū)別

Ribbon添加maven依賴 spring-starter-ribbon 使用@RibbonClient(value="服務(wù)名稱") 使用RestTemplate調(diào)用遠(yuǎn)程服務(wù)對(duì)應(yīng)的方法
feign添加maven依賴 spring-starter-feign 服務(wù)提供方提供對(duì)外接口 調(diào)用方使用 在接口上使用@FeignClient("指定服務(wù)名")
Ribbon和Feign的區(qū)別:
Ribbon和Feign都是用于調(diào)用其他服務(wù)的阻肩,不過(guò)方式不同。
1.啟動(dòng)類使用的注解不同乔煞,Ribbon用的是@RibbonClient,F(xiàn)eign用的是@EnableFeignClients撕氧。
2.服務(wù)的指定位置不同喇完,Ribbon是在@RibbonClient注解上聲明,F(xiàn)eign則是在定義抽象方法的接口中使用@FeignClient聲明不脯。
3.調(diào)用方式不同刻诊,Ribbon需要自己構(gòu)建http請(qǐng)求防楷,模擬http請(qǐng)求然后使用RestTemplate發(fā)送給其他服務(wù)则涯,步驟相當(dāng)繁瑣冲簿。
Feign則是在Ribbon的基礎(chǔ)上進(jìn)行了一次改進(jìn)亿昏,采用接口的方式,將需要調(diào)用的其他服務(wù)的方法定義成抽象方法即可角钩,
不需要自己構(gòu)建http請(qǐng)求。不過(guò)要注意的是抽象方法的注解惨险、方法簽名要和提供服務(wù)的方法完全一致。

九.springcloud斷路器的作用

當(dāng)一個(gè)服務(wù)調(diào)用另一個(gè)服務(wù)由于網(wǎng)絡(luò)原因或者自身原因出現(xiàn)問(wèn)題時(shí) 調(diào)用者就會(huì)等待被調(diào)用
者的響應(yīng) 當(dāng)更多的服務(wù)請(qǐng)求到這些資源時(shí)
導(dǎo)致更多的請(qǐng)求等待 這樣就會(huì)發(fā)生連鎖效應(yīng)(雪崩效應(yīng)) 斷路器就是解決這一問(wèn)題斷路器
有完全打開(kāi)狀態(tài)
一定時(shí)間內(nèi) 達(dá)到一定的次數(shù)無(wú)法調(diào)用 并且多次檢測(cè)沒(méi)有恢復(fù)的跡象 斷路器完全打開(kāi)脊髓,那
么下次請(qǐng)求就不會(huì)請(qǐng)求到該服務(wù)半開(kāi),短時(shí)間內(nèi) 有恢復(fù)跡象 斷路器會(huì)將部分請(qǐng)求發(fā)給該服務(wù) 當(dāng)
能正常調(diào)用時(shí) 斷路器關(guān)閉,當(dāng)服務(wù)一直處于正常狀態(tài) 能正常調(diào)用 斷路器關(guān)閉

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市供炼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冀墨,老刑警劉巖涛贯,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異弟翘,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)悦冀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門睛琳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人师骗,你說(shuō)我怎么就攤上這事『停” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵寡夹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鸳君,道長(zhǎng)患蹂,這世上最難降的妖魔是什么或颊? 我笑而不...
    開(kāi)封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任囱挑,我火速辦了婚禮,結(jié)果婚禮上平挑,老公的妹妹穿的比我還像新娘系草。我一直安慰自己,他們只是感情好找都,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著赏枚,像睡著了一般晓猛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上戒职,一...
    開(kāi)封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音磕秤,去河邊找鬼。 笑死亲澡,一個(gè)胖子當(dāng)著我的面吹牛纫版,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播其弊,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼痹雅!你這毒婦竟也來(lái)了糊识?” 一聲冷哼從身側(cè)響起绩社,我...
    開(kāi)封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤愉耙,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后朴沿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體败砂,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年坚芜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了斜姥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片货岭。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡千贯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碎乃,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站翘紊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏融师。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一舀射、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脆烟,春花似錦、人聲如沸驼抹。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)署惯。三九已至,卻和暖如春极谊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背帆吻。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工咙边, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人败许。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像愕撰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子搞挣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理音羞,服務(wù)發(fā)現(xiàn),斷路器嗅绰,智...
    卡卡羅2017閱讀 134,716評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,867評(píng)論 6 342
  • 《Spring Boot開(kāi)發(fā):從0到1》 大綱結(jié)構(gòu)v2.0 第一部分Spring Boot基礎(chǔ) 第1章 Sprin...
    光劍書架上的書閱讀 10,965評(píng)論 1 70
  • 前言:學(xué)習(xí)SpringBoot不應(yīng)該直接就是開(kāi)始使用SpringBoot,如果直接拿來(lái)用肯定會(huì)有很多人不是很明白特...
    CoderZS閱讀 74,806評(píng)論 10 217
  • 微服務(wù)架構(gòu)模式的核心在于如何識(shí)別服務(wù)的邊界貌夕,設(shè)計(jì)出合理的微服務(wù)民镜。但如果要將微服務(wù)架構(gòu)運(yùn)用到生產(chǎn)項(xiàng)目上,并且能夠發(fā)揮...
    程序員技術(shù)圈閱讀 2,783評(píng)論 10 27