Spring Boot教學


Spring Team在現有Spring框架的基礎上發布了一個創新的主要框架:Spring Boot。這是一個來自Pivotal Team(Spring Team)的全新專案。Spring Boot是他們最新的創新,能夠跟上不斷變化的技術需求。 開發Spring Boot的主要動機是簡化組態和部署spring應用程式的過程。

Spring Boot為開發提供一個具有最小功能的Spring應用程式,並提供了一個新的範例。使用Spring Boot將能夠以更靈活的方式開發Spring應用程式,並且能夠通過最小(或可能沒有)組態Spring來專注於解決應用程式的功能需求。它使用全新的開發模型,通過避免一些繁瑣的開發步驟和樣板程式碼和組態,使Java開發非常容易。

Spring Boot可以輕鬆建立單獨的,生產級的基於Spring的應用程式,我們只管「執行」。檢視Spring平台和第三方庫。大多數Spring Boot應用程式只需要很少的Spring組態。

Spring Boot的主要特點

  • 建立獨立的Spring應用程式
  • 直接嵌入Tomcat,Jetty或Undertow(無需部署WAR檔案)
  • 提供「初始」的POM檔案內容,以簡化Maven組態
  • 盡可能時自動組態Spring
  • 提供生產就緒的功能,如指標,健康檢查和外部化組態
  • 絕對無程式碼生成,也不需要XML組態

Spring Boot核心和限制

Spring Boot不是編寫應用程式的框架,它可以幫助我們以最少的組態或零組態開發和構建,打包和部署應用程式。

它不是應用程式伺服器。但是它是提供應用程式伺服器功能的嵌入式servlet容器,而不是Spring Boot本身。
類似地,Spring Boot不實現任何企業Java規範,例如JPA或JMS。 例如,Spring Boot不實現JPA,但它通過為JPA實現(例如Hibernate)自動組態適當的bean來支援JPA。
最後,Spring Boot不使用任何形式的程式碼生成來完成它的功能。它是利用Spring 4的條件組態功能,以及Maven和Gradle提供的傳遞依賴關係解析,以在Spring應用程式上下文中自動組態bean。

簡而言之,Spring Boot它的核心就是Spring。

Spring Boot優點和缺點

  • 使用Java或Groovy開發基於Spring的應用程式非常容易。
  • 它減少了大量的開發時間並提高了生產力。
  • 它避免了編寫大量的樣板程式碼,注釋和XML組態。
  • Spring Boot應用程式與其Spring生態系統(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)整合非常容易。
  • 它遵循「自用預設組態」方法,以減少開發工作量。
  • 它提供嵌入式HTTP伺服器,如Tomcat,Jetty等,以開發和測試Web應用程式非常容易。
  • 它提供CLI(命令列介面)工具從命令提示字元,非常容易和快速地開發和測試Spring Boot(Java或Groovy)應用程式。
  • 它提供了許多外掛來開發和測試Spring啟動應用程式非常容易使用構建工具,如Maven和Gradle。
  • 它提供了許多外掛,以便與嵌入式和記憶體資料庫工作非常容易。

Spring Boot的限制

將現有或傳統的Spring Framework專案轉換為Spring Boot應用程式是一個非常困難和耗時的過程。它僅適用於全新Spring專案。

未來的Spring專案不會有任何XML組態作為它的一部分,一切都將由專案Spring Boot處理。

官方參考指南包括所有功能的詳細說明,以及常見用法的詳細說明。

Spring框架結構圖如下所示 -

可以使用Spring Boot建立java -jar或更多傳統war部署來啟動Java應用程式。還提供了一個執行「spring scripts」的命令列工具。