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」的命令行工具。