我使用过 JSF、Spring MVC 和 Struts,我认为我在这些框架上的水平很高。最近我听说与我共事的许多优秀开发人员正在学习 Grails 并将其用于他们的项目。
与其他框架相比,Grails 有哪些实际优势?除了我知道其他框架外,还值得学习吗?围绕 Grails 的所有讨论是什么,仅仅是因为 Groovy 吗?
注意:我在 SO 中进行了研究,发现的唯一相关问题是 this并且没有提到 Grails
最佳答案
正如您所说,Grails 是在 Groovy 的基础上构建的,它具有提高生产力的直接好处。 Groovy 语法比 Java 简洁得多,用一行 Groovy 代码来做一些在 Java 中需要多行代码的事情要容易得多。
Grails 特别为您提供了许多优于其他 Web 框架的优势(不过我只能谈论 Struts 1.x、2.x 和 SpringMVC)- 顺便说一下,Grails 实际上构建在 SpringMVC 之上,您可以集成使用 Spring 的其他组件。
数据库迁移和版本控制 - 不再有应用程序与数据库架构不同步综合症。大多数 Java 网络应用都存在这种问题。
Artefacts - 使创建新的 Controller 和组件更加容易。无需再创建 Controller 、配置它并将其放入 Web 应用程序中的正确位置。哦!脚手架还为您提供了所有一些初始组件,让您可以开始构建您的页面并进行自定义
更简单的验证(定义比 Struts 1.x 更简单),例如
username(size:6..10, blank:false)
为用户名字段指定两个验证规则,使其具有特定长度且非空白。在其他 Java Web 应用程序框架中有点难。内置 Webflow(通过 Spring webflow),这使得创建复杂的工作流变得更加简单。 Struts 2 可以支持 Webflow,但通过一个插件,如果我记得的话,这有点奇怪。 Spring 也可以。
拦截器 - SpringMVC 也有这些。
Flash 范围,参见 http://grails.org/doc/docs/1.1/ref/Controllers/flash.html
更好的数据绑定(bind) - Struts 2 非常好,比 Struts 1 好得多。SpringMVC 也不错。
还有一些,查看文档了解更多详情:http://grails.org/doc/1.1.1/
关于java - 与其他 Java Web 框架相比,Grails 有哪些优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896320/