為什麼我再次看好Spring Boot?
該文作者在2010年認為Spring在走下坡路,XML甚至冗長的Java配置是主要原因,現在Spring Boot向ROR等語言學習的約定大於配置成為推動它迴歸的一個主要因素。他認為Spring Boot提供的一些必不可少的東西:
1. 自動配置所有的功能,只要在類路徑classpath中有ElasticSearch,或Redis或mongo等庫包,無需任何操作就可以使用。
2. 使用maven的pom.xml配置啟動過程,配置依賴就非常簡單,配置這些依賴的結果就是將這些依賴Jar包會放到類路徑中,促使第一條好處成立。
3. 約定大於配置,這些已經在Grails,Play以及非Java世界中廣泛應用,實際就是每個配置都有預設配置,而不是像Spring那樣沒有配置,這條結合第一條自動配置以後,基本上依賴的jar包都能運行了,包括資料庫的自動生成,否則過去引入一個jar包以後,還要在資料庫建立這個jar包所需的資料庫表,現在通過JPA可以DDL自動生成庫表,比如使用Spring cloud task或batch,這些庫表都在pom.xml指定具體資料庫以後可自動建立。
4. 配置在程式碼之外,採用微服務主要障礙之一是配置太多,從單體轉到微服務的那一刻,你的配置會增加10倍。在Boot中管理所有這些配置很容易。
5. Spring Boot Actuator,良好的架構與程式碼一樣重要,你必須有一個很好的微(服務)框架進行監控,Spring Boot Actuator雖然沒有得到那麼多關注,但它有很多功能可供生產/實時環境中的Java 微服務使用。包括審計,健康,資訊,自動配置,安全性,指標,堆記憶體,日誌記錄等,Spring Boot Actuator中有近13-15個生產就緒功能。