iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
5
Modern Web

30天帶你潮玩Spring Boot Zone系列 第 1

[Day 1] - Spring Boot 是什麼

閱讀門檻:

最好對Java有基本認識的程式開發師(Programmer)
因為這系列的教學要運用Java來講解。
要是真的不熟悉Java又想去學,也是歡迎的。
可以來了解一下Spring Boot是什麼。
為了讓大家以輕鬆愉快的心情去閱讀,
小弟都會將教學以清晰+重點的形式來講解(每篇約5~10分鐘)。
讓大家能在短時間內看完一篇文章。

閱讀時間: 5分鐘

為什麼要介紹Spring Boot呢?

因為它是一個比優勢且強大的軟件產品,可以取代現時流行的MVC。
相信有接觸過Java的人,會對SSH有一點點認識,有些人更可能經常用到SSH組合的MVC。(不認識的話不要緊,我會再簡單講一下一些關鍵字眼。)

MVC 是一種軟體架構模式,把軟體系統分為三個基本部分,分別是模型(Model)、視圖(View)和控制器(Controller)。
MVC模式的目的是實現一種動態而且有彈性的程式設計,使後續對程式的修改和擴充簡化,並且使程式某一部分的重複利用以加快設計效率。之外,MVC模式是透過對複雜度的簡化,使程式結構變得簡單清晰。而軟體系統透過對自身基本部分的可組合性特點賦予了各個基本部分應有的專屬功能。

SSH框架是其中一款MVC,它集合Struts、Spring、Hibernate於一身的合成框架,目前有不少系統都有用上它。

然而說到Spring Boot,很多人會想到Spring 和Spring MVC。
究竟它們有什麼差別?
第一,Spring是一種框架,包含一系列的IoC容器的設計和依賴注入(DI)及整合AOP功能。
第二,Spring Boot 和 Spring MVC 都是一種框架,同時它們的核心是Spring。
第三,Spring Boot包含了Spring MVC,同時能簡化配置。
(有關它們的詳細分別,之後會再解釋。)

什麼是Spring Boot?

5歲的Spring Boot是由Pivotal團隊在2013年開始研發、2014年4月發布第一個版本。所以它是一個新型的框架。它基於Spring4.0設計,不僅繼承了Spring框架原有的優秀特性,而且還通過簡化配置來進一步簡化了Spring應用的整個搭建和開發過程。另外Spring Boot通過集成大量的框架使得依賴包的版本沖突,以及引用的不穩定性等問題得到了很好的解決。

根據官方說明:

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

Spring Boot 讓大家能輕鬆地創建獨立的、(production-grade)耐用又有擴展性的、以Spring為基礎的且能直接運行的應用程序。
針對Spring的平台和第三方library,Spring的官方機構會有個性地為用家提供一個極少煩惱的開始環境。
同時,Spring boot的應用程序只需要很少的Spring 配置。

而所謂的個性就是指它會預設各種合理的默認配置包括放棄了XML、Spring Boot Web 應用程序使用了一個(embedded tomcat container)嵌入式Tomcat容器、可以自定義 Spring Boot 應用程序等。

總括之言,Spring Boot 的目的是提供一組工具,以便快速構建+容易配置的 Spring 應用程序。同時不需要在重新定義基本的配置,從而成為(rapid application development) 快速應該開發的新進領導者。
Spring Boot可以說是在 Java 中開發基於 REST Web 應用程序的最快方法之一。

Spring Boot 的特色:

  1. 創建獨立的Spring 應用程式
  2. 嵌入式Tomcat, Jetty, Undertow (不用部署WAR包)
  3. 提出自主的starter來簡化配置
  4. 隨時自動地配置Spring及相關的第3方Library
  5. 提供已隨時就緒的功能如Metrics, 程式的健康檢查及外部化配置
  6. 不會生成任何代碼及無任何XML配置的前設要求

相信大家都對Spring Boot有一點認識,接下來的日子會繼續講相關的基礎知識,
同時也進行各種簡單的實戰,邊學邊用。希望在30天後,大家能將Spring Boot運用在日常學習和工作中。

如果有興趣想繼續了解和學習的話,歡迎訂閱及留意小弟的文章。

參考文章/網站/書本:


下一篇
[Day 2] - Spring Boot入門前的準備
系列文
30天帶你潮玩Spring Boot Zone15

尚未有邦友留言

立即登入留言