2015-03-03 81 views
32

我一直在試着理解Spring Boot,並可能將我的項目遷移到它。但是除了嵌入式Tomcat之外,我並沒有獲得它的真正優勢。您能否向我解釋Spring Boot與普通Spring相比的真正實力?Spring Boot的優勢

+2

的人顯著數感興趣的問題,一堆人決定關閉的問題,因爲它是基於意見。說了很多關於stackoverflow – 2017-01-02 13:13:35

+1

鑑於問題是關閉的,我想在2年後增加我的2美分,因爲我一直在觀察一些upvotes。目前,Spring Boot的主要優勢在於它如何適應基於容器的部署,基本上針對每個新的基礎架構來完成。如果沒有彈簧引導,很難在基於碼頭的容器中使用彈簧。 – 2017-05-02 11:11:45

回答

3

真正容易的是從無到有,並且有大量有用的默認值。

如果你想遷移一些現有的項目,這很可能會產生許多難以遷移的怪癖,這並不是那麼容易。

3

使用配置/ jar-dependencies中包含的默認值進行引導是Spring引導的真正優勢!快速完成工作!

它只是Spring框架的另一個項目,其中的東西看起來很簡單,並且對安全性,數據,社交等等的強大支持都是您希望爲您的應用程序提供的所有功能。

如果您更喜歡對像我這樣的XML配置的註釋,那麼您可能使用@Configuration進行配置,使用@ComponentScan進行依賴注入和@EnableAutoConfiguration來告訴Spring猜測默認值並繼續工作。 @SpringBootApplication註釋等同於使用@Configuration,@EnableAutoConfiguration和@ComponentScan及其默認屬性。因此,事情進一步簡化,只需一個註釋就可以完成3的工作。

14

最大的優點是基於它所發現的內容和嵌入式服務器的開箱即用配置(可以讓一個jar運行它並轉至localhost:8080以查看結果旁邊),它有metricshealth checksexternalised configuration

在我看來是一個用於構建雲微服務的完美工具。

23

Spring Boot Page引用,它具有以下特點:

  1. 創建獨立的Spring應用
  2. 嵌入的Tomcat,Jetty的或暗潮直接(無需部署WAR文件)
  3. 提供自以爲是「 Starter'POM來簡化您的Maven配置
  4. 自動配置Spring,只要有可能
  5. 提供生產就緒功能,如公制S,健康檢查和外部配置
  6. 絕對沒有代碼生成爲XML配置沒有要求
+1

對於spring-boot,「XML配置沒有要求」部分嗎?是不是可以通過java配置類來配置所有的東西而不使用spring-boot? – kgautron 2016-06-13 15:27:31

+0

@kgautron不,可以使用基於Java的配置,而無需使用彈簧引導。 – Arpit 2016-06-13 16:15:44

+1

春季靴子/春天是雙刃劍。主要取決於在項目中工作的開發人員。因爲春天的特點很豐富;它可以很快與開發人員一起失控。您需要更嚴格地控​​制哪些功能應該用於什麼目的,否則最終會導致不適用。整體Spring不再輕量級了,每發佈一大堆功能都會被添加,如果這些功能被拖入其中以便使用它,應用程序將不再可維護,它很難快速進行更改 – webjockey 2017-12-14 00:45:02

3

最大的一座是春天啓動與微服務的概念一致,可以從運行任何地方的容器雲。這可能是因爲springboot以下性質

  • 佔地面積小
  • 獨立服務
  • 更容易從容器中推出,每個服務可以在其自己的容器(如搬運工)
  • 易於配置和完全從腳本部署。適合在雲中進行自動縮放和部署。
1

在主動開發中,spring引導具有保留複雜xml文件配置的優點。

1.嵌入式tomcat放棄web.xml配置;

2.spring-boot安全性丟棄applicationcontext-security.xml配置;

3.spring-boot webservice放棄applicationcontext-ws.xml配置;

4.spring-boot mvc放棄applicationcontext.xml配置;

5.spring-boot數據源(包括Relational Database和nosql數據庫)會丟棄applicationcontext.xml配置,即使有多個數據源。

捨棄這個配置文件容易我們發展,提高效率。 SpringBoot的

3

優點:

  • 無需創建樣板配置SpringBoot入門的
  • 大量快速啓動和運行
  • DevTools到AUTORESTART上的代碼/配置更新服務器的
  • 嵌入式Tomcat/Jetty/Undertow支持
  • 更容易定製應用程序屬性
  • 使用平臺-BOM輪廓特定屬性
  • 更容易依賴管理的易管理

這裏有什麼SpringBoot的優勢,以及如何SpringBoot一些工作我的文章。

Why SpringBoot?

How SpringBoot AutoConfiguration magic works?