51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师论坛测试积点免费获取渠道攻略20+企业级实战项目就在这里!横扫BAT,Python全栈测试开发技能大全
【114期】:谈数据库测试&测试开发相互间的关系!中国软件测试行业现状调查报告新鲜出炉! 【杂志】做测试行业不偏科的尖子生! 【活动】为视频UP主打CALL,互动领福利!
查看: 630|回复: 0

Spring Boot 和 Grails 的不同点

[复制链接]

该用户从未签到

发表于 2019-3-8 15:52:25 | 显示全部楼层 |阅读模式

最近花了些时间了解了一下 Spring Boot 这个新框架。这个框架提供了快速开发基于 Spring Framework 的应用的功能。同样,SpringSource 旗下还有另一个用于 Web 应用快速开发的框架,就是 Grails。初看来这两个框架有很多相似的地方,所以可以将这两个框架做一下对比。


Spring Boot 强调自运行;Grails 应用则需要打包成 WAR 来运行

当然 Grails 应用也能通过内嵌的 Tomcat 或 Jetty 容器来运行,但这主要用于开发环境。在用于生产环境时,Grails 应用仍需要打包成 WAR 包。而 Spring Boot 的应用则主要是打包成可自运行的 JAR 包。


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 数据库一视同仁


总结

当构建 Web 应用时,首选的框架仍然是 Grails。(PS. 当然 Play! Framework 也是不错的选择,但是我不喜欢 Scala)但是 Spring Boot 非常值得关注。因为它关注于简化现有的 Spring 应用的开发,而不是一种全新的解决方案。Spring Boot 为现在越来越臃肿的 Spring 应用提供了新的希望,从这个角度讲,它要比 Grails 会有更广泛的应用。

Spring Boot 是一阵小清新。Grails 虽然依旧是一个非常好用的 Web 快速开发框架,但是因为它是一站式解决方案,所以不可避免的变得有些庞大了。


回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2020-8-15 12:18 , Processed in 0.057929 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2020 Comsenz Inc.

快速回复 返回顶部 返回列表