Spring Boot 和 Grails 的不一樣點

最近花了些時間瞭解了一下 Spring Boot 這個新框架。這個框架提供了快速開發基於 Spring Framework 的應用的功能。一樣,SpringSource 旗下還有另外一個用於 Web 應用快速開發的框架,就是 Grails。初看來這兩個框架有不少類似的地方,因此能夠將這兩個框架作一下對比。數據庫

Spring Boot 強調自運行;Grails 應用則須要打包成 WAR 來運行

固然 Grails 應用也能經過內嵌的 Tomcat 或 Jetty 容器來運行,但這主要用於開發環境。在用於生產環境時,Grails 應用仍須要打包成 WAR 包。而 Spring Boot 的應用則主要是打包成可自運行的 JAR 包。api

Spring Boot 側重開發 RESTful Web Service;Grails 則提供了全面的 Web 應用支持,包括頁面標籤、Web 視圖等等

Spring Boot 使用 Maven 和 Gradle 做爲構建工具;Grails 使用自有的構建工具

Maven 和 Gradle 顯然是兩個最爲普遍使用的構建工具。從構建工具的角度看,Spring Boot 更有通用性。而若是要用 Maven 去構建 Grails 應用倒也不難,可是須要一些並不複雜的額外工做。不過若是想用 Gradle 構建 Grails 應用那就更加麻煩一些了。框架

PS. 在使用 Maven 構建 Grails 應用時,我發現 Grails 的 grails create-pom 命令生成的 pom.xml 文件中缺乏 servlet-api 的 dependency。須要手工添加,不然在用 Maven 編譯打包時都會爆出 NoClassFound 的異常。工具

Spring Boot 經過添加 starter-module 的依賴來擴展功能;Grails 則經過插件

顯然前者更加通用插件

數據庫訪問方面

Grails 經過 GORM 使得對關係型數據庫支持更加的全面,也更易用。Spring Boot 則將關係型數據庫和 NoSQL 數據庫一視同仁code

總結

當構建 Web 應用時,首選的框架仍然是 Grails。(PS. 固然 Play! Framework 也是不錯的選擇,可是我不喜歡 Scala)可是 Spring Boot 很是值得關注。由於它關注於簡化現有的 Spring 應用的開發,而不是一種全新的解決方案。Spring Boot 爲如今愈來愈臃腫的 Spring 應用提供了新的但願,從這個角度講,它要比 Grails 會有更普遍的應用。xml

Spring Boot 是一陣小清新。Grails 雖然依舊是一個很是好用的 Web 快速開發框架,可是由於它是一站式解決方案,因此不可避免的變得有些龐大了。開發

相關文章
相關標籤/搜索