最近花了些時間瞭解了一下 Spring Boot 這個新框架。這個框架提供了快速開發基於 Spring Framework 的應用的功能。一樣,SpringSource 旗下還有另外一個用於 Web 應用快速開發的框架,就是 Grails。初看來這兩個框架有不少類似的地方,因此能夠將這兩個框架作一下對比。數據庫
固然 Grails 應用也能經過內嵌的 Tomcat 或 Jetty 容器來運行,但這主要用於開發環境。在用於生產環境時,Grails 應用仍須要打包成 WAR 包。而 Spring Boot 的應用則主要是打包成可自運行的 JAR 包。api
Maven 和 Gradle 顯然是兩個最爲普遍使用的構建工具。從構建工具的角度看,Spring Boot 更有通用性。而若是要用 Maven 去構建 Grails 應用倒也不難,可是須要一些並不複雜的額外工做。不過若是想用 Gradle 構建 Grails 應用那就更加麻煩一些了。框架
PS. 在使用 Maven 構建 Grails 應用時,我發現 Grails 的
grails create-pom
命令生成的 pom.xml 文件中缺乏 servlet-api 的 dependency。須要手工添加,不然在用 Maven 編譯打包時都會爆出 NoClassFound 的異常。工具
顯然前者更加通用插件
Grails 經過 GORM 使得對關係型數據庫支持更加的全面,也更易用。Spring Boot 則將關係型數據庫和 NoSQL 數據庫一視同仁code
當構建 Web 應用時,首選的框架仍然是 Grails。(PS. 固然 Play! Framework 也是不錯的選擇,可是我不喜歡 Scala)可是 Spring Boot 很是值得關注。由於它關注於簡化現有的 Spring 應用的開發,而不是一種全新的解決方案。Spring Boot 爲如今愈來愈臃腫的 Spring 應用提供了新的但願,從這個角度講,它要比 Grails 會有更普遍的應用。xml
Spring Boot 是一陣小清新。Grails 雖然依舊是一個很是好用的 Web 快速開發框架,可是由於它是一站式解決方案,因此不可避免的變得有些龐大了。開發