javascript
为什么SpringBoot如此受欢迎,以及如何有效地学习SpringBoot?
SpringBoot是最流行和使用最廣泛的Java框架。 有時(shí)這種討論“為什么SpringBoot如此受歡迎?” 來我和我的朋友/同事之間。 另外,我確實(shí)收到了許多人發(fā)來的電子郵件,詢問“春天很大,如何快速學(xué)習(xí)?” 。 在這篇文章中,我將嘗試回答這兩個(gè)問題。
為什么SpringBoot如此受歡迎?
Spring和SpringBoot受歡迎的原因可能有很多,但我認(rèn)為以下是主要原因:
1.大幅提高開發(fā)人員的生產(chǎn)力
SpringBoot強(qiáng)大的自動配置機(jī)制使基于Spring的應(yīng)用程序入門非常容易。 更重要的是,SpringBoot提供了各種啟動器,對于許多應(yīng)用程序來說已經(jīng)足夠了。
您只需創(chuàng)建一個(gè)項(xiàng)目,選擇Web,Spring Data JPA / Mongo等,H2 / EmbeddedMongo,Spring Data REST啟動器,然后創(chuàng)建您的域?qū)嶓w和存儲庫,即可創(chuàng)建由數(shù)據(jù)庫支持的REST API。 就這樣,您就擁有了一個(gè)功能齊全的REST API。
這降低了新手的入門門檻,對于那些熟悉如何手動配置所有這些功能(可能已經(jīng)完成了100多次)并且厭倦了編寫此樣板的人來說,SpringBoot就是一件禮物。
2.簡化的高層抽象
Spring和SpringBoot的主要目標(biāo)之一就是使事情變得容易。 Spring產(chǎn)品組合具有自己強(qiáng)大的Web MVC框架,Spring Security框架,但其其他大多數(shù)項(xiàng)目都是為了提供更高級別的抽象,以使使用它們更加容易。
例如,Spring Data JPA通過提供API來執(zhí)行CRUD操作,排序,分頁,而無需自己實(shí)現(xiàn)所有這些功能,從而使使用JPA非常容易。
Spring AMQP或Spring for Kafka提供了更高級別的抽象,因此您可以輕松使用RabbitMQ或Kafka,而無需編寫低級的樣板代碼。
3.微服務(wù)和云原生友好
微服務(wù)架構(gòu)是當(dāng)前最新的熱門趨勢,許多組織更喜歡微服務(wù)架構(gòu),并希望將它們部署在AWS,CloudFoundry等云環(huán)境中。
通常,SpringBoot應(yīng)用程序是作為獨(dú)立的部署單元(FAT Jar)構(gòu)建的,使用其Profiles概念,我們可以在多個(gè)環(huán)境中部署相同的應(yīng)用程序而無需更改任何代碼。 除此以外,SpringCloud模塊還提供了構(gòu)建Cloud Native微服務(wù)所需的大量功能。
4.滿足現(xiàn)代業(yè)務(wù)需求
現(xiàn)代應(yīng)用程序需求已發(fā)生變化,并且瞬息萬變。 我們等不及3到4年的發(fā)布周期才能獲得新功能。 我們需要具有快速發(fā)布周期的框架來支持這些業(yè)務(wù)需求。
Spring的核心只是一個(gè)依賴注入(DI)容器。 但是Spring的力量來自其豐富的投資組合項(xiàng)目。 您想要使用NoSQL數(shù)據(jù)庫,想要一個(gè)健壯的安全框架,想要與Social平臺集成,想要與Big Data框架一起使用,想要使用像Kafka這樣的Streaming平臺……涵蓋了所有內(nèi)容。
5. Spring開發(fā)者社區(qū)
這是Spring框架的最佳組成部分。 您可以在Spring框架上找到100萬個(gè)博客,其中包含許多精彩的博客文章。 您幾乎可以在StackOverflow上找到解決每個(gè)問題的解決方案。 您可以通過Twitter輕松地與Spring Developer團(tuán)隊(duì)聯(lián)系。
Spring和SpringBoot面臨的挑戰(zhàn)
當(dāng)我與某些人(初級和有經(jīng)驗(yàn)的開發(fā)人員)交談時(shí),他們常說的一句話是“春天是巨大而復(fù)雜的”。 但是我對此有完全相反的意見。 在與他們更多地談?wù)摿怂麄優(yōu)槭裁从X得Spring如此復(fù)雜之后,我理解了他們?yōu)槭裁磿羞@種感覺。 這就是為什么我覺得學(xué)習(xí)JavaScript框架很復(fù)雜的原因。
時(shí)不時(shí)地,我很想學(xué)習(xí)NodeJS和一個(gè)閃亮的新JavaScript框架(如ReactJS或VueJS等)。首先,我嘗試列出要學(xué)習(xí)的東西,以便我有一個(gè)基準(zhǔn)來說我對NodeJS /有相當(dāng)?shù)牧私狻?ReactJS等。花了4到6個(gè)小時(shí),并且知道有36,794種方法可以用JavaScript進(jìn)行任何操作,但我迷失了這片JavaScript工具和選項(xiàng)。 然后我覺得JavaScript很復(fù)雜。
我應(yīng)該做的是停止追逐所有框架/工具,并首先學(xué)習(xí)準(zhǔn)系統(tǒng)JS或ES6,選擇一個(gè)框架(例如ReactJS)和一個(gè)構(gòu)建工具(如WebPack),然后學(xué)習(xí)如何正確地一起使用它們。
除了對Spring的感覺是巨大而復(fù)雜之外,我還看到了人們說SpringBoot復(fù)雜的以下原因:
如何有效地學(xué)習(xí)Spring和SpringBoot?
我將為您提供一些學(xué)習(xí)Spring和SpringBoot的技巧,基本上就是我在學(xué)習(xí)它們時(shí)所遵循的技巧。
1.反復(fù)學(xué)習(xí)
我認(rèn)為沒人能一口氣學(xué)習(xí)框架的所有知識。 我遵循一種迭代方法。
迭代1:遵循一些快速入門指南,并創(chuàng)建一個(gè)具有所有依賴項(xiàng)的項(xiàng)目,并構(gòu)建一個(gè)Todo應(yīng)用程序(Todo是新的HellowWorld權(quán)利:-)。 成功運(yùn)行示例應(yīng)用程序時(shí),它會給您信心。
迭代2:閱讀官方文檔
了解此特定框架要解決的問題以及該框架在什么情況下合適以及在何處不是一個(gè)很好的選擇,這一點(diǎn)非常重要。 在這方面,Spring框架文檔很棒而且太長(超過800頁):-)。
迭代3:構(gòu)建中等復(fù)雜的應(yīng)用程序
迭代4:深入研究框架的源代碼,并了解如何自定義框架
2.首先,學(xué)習(xí)Spring Core框架
如果您不了解Spring,請不要跳到SpringBoot上。 我強(qiáng)烈建議您首先學(xué)習(xí)沒有SpringBoot的Spring框架,以便您了解SpringBoot在幕后的作用。
熟悉Spring DI概念,范圍,注釋,生命周期回調(diào),bean配置樣式(注釋,@ Beans等)。 知道Spring如何使用模板模式(JdbcTemplate,JmsTemplate等)來避免編寫樣板代碼。
3.了解SpringBoot自動配置的工作方式
SpringBoot的強(qiáng)大功能來自其自動配置機(jī)制,這并不是魔術(shù)。 學(xué)習(xí)Spring的@Conditional功能并探索一些SpringBoot的AutoConfiguration類,例如DataSourceAutoConfiguration,JpaAutoConfiguration等,您可以輕松地了解SpringBoot如何根據(jù)某些條件自動創(chuàng)建bean。
您可以閱讀有關(guān)SpringBoot AutoConfiguration魔術(shù)如何工作的博客文章。 此處https://sivalabs.in/2016/03/how-springboot-autoconfiguration-magic/
4.關(guān)注社區(qū)并閱讀博客
這是Spring框架的最佳組成部分,是一個(gè)龐大的社區(qū),并且有成千上萬的關(guān)于Spring的博客。 找到這些很棒的Spring博客的一種簡單方法是, 在每周二的Josh Long( @starbuxman )發(fā)表于Spring Blog的本周系列文章中。
5.練習(xí),練習(xí)和練習(xí)
沒有什么可以取代“實(shí)踐”。 無論您閱讀多少,在YouTube上觀看了多少Spring視頻。最好的學(xué)習(xí)方法是使用它。
這些天,我?guī)缀蹩床坏絁ava項(xiàng)目不使用Spring和SpringBoot。 您可以在從事該項(xiàng)目的同時(shí)學(xué)習(xí),但是我強(qiáng)烈建議創(chuàng)建一個(gè)Pet項(xiàng)目并使用各種Spring組合項(xiàng)目來實(shí)施。
畢竟,學(xué)習(xí)仍然需要一些時(shí)間。 花一些時(shí)間來掌握它。 耐心一點(diǎn)。 如果遇到困難,請與他人聯(lián)系。 閱讀書籍和博客。 練習(xí),練習(xí)和練習(xí)。
我希望它會有所幫助,并在您喜歡的情況下分享!
翻譯自: https://www.javacodegeeks.com/2018/02/springboot-popular-learn-springboot-effectively.html
總結(jié)
以上是生活随笔為你收集整理的为什么SpringBoot如此受欢迎,以及如何有效地学习SpringBoot?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java低延迟_像Java这样的C ++
- 下一篇: 开锁备案证(安监备案锁证)