最近用Grails做了一个网站项目,很多时候确实提高了开发速度,但Grails本身存在很多不好的地方:
1、没有良好的IDE开发工具支持,目前最好的开发工具就是idea,可是idea的plugin对于utf-8编码的groovy文件支持很不好,只要工程设置了编码是utf-8,如果groovy文件里有中文,那么就会出现无法编译。
2、controller分包,当项目做大了的时候会发现把整个项目的controller都放到一个包下面很不好维护,于是你就需要对controller分包,可是分包后如果各个包下出现有同名的controller的时候,Grails无法处理,它会默认把最后加裁的那个controller为标准,前面的就覆盖掉了,就算是你在UrlMapping.groovy里进行配置也配置不了,如果能够在controller里能够象struts2一样给controller指定一个唯一的名字就好。
3、domain的关系映射,这其实归根应该算到hibernate及orm的问题,如果我的领域模型很多,关系很我的时候,这种关系极其麻烦,尤其是对于保存一个领域对象的时候,如果出现一对多的关系的时候,我要保存从表对象时,必须把主表对象查出来给从表对象。如:User –> Message是一对多的关系,当我要保存Message的时候,必须根据用户id找到User对象,然后把User对象付给Message的user属性,这样极为影响性能,增加了不必要的数据库查询。
4、如果对域模型分包之后,那么当在写HQL语句查询的时候要写上完整的包名,这个好象以前在hibernate里是不需要的。
不过总体来说Grails这样的敏捷开发框架还是优点多于缺点。
分享到:
相关推荐
Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式,允许开发者快速构建...
《Grails权威指南》是一本全面深入探讨Grails框架的专著,旨在帮助读者掌握这一强大的Web开发工具。Grails是一种基于Groovy语言的开源框架,它为构建现代、高效的应用程序提供了简洁高效的解决方案。本指南针对不同...
【Grails项目搭建详解】 Grails是一个基于Groovy语言的开源Web应用框架,它简化了开发过程,尤其适合快速构建动态网站。在Eclipse中搭建Grails项目可能相对复杂,但通过以下步骤,即使是初学者也能顺利进行。 1. *...
Grails 的强大之处在于其丰富的插件库,如Spring Security用于安全控制,Hibernate Search提供全文搜索功能,以及各种用于支付、邮件发送、社交网络集成的插件,极大地扩展了框架的功能。 6. **IDE集成** ...
《Grails用户手册》 Grails,作为一个基于Groovy语言的开源Web应用框架,深受开发者喜爱,它简化了Java开发的复杂性,提供了强大的MVC(Model-View-Controller)架构,以及丰富的插件系统。这份用户手册将帮助你...
标题中提到的"Grails开发之(Rest教程)"表明本文是一份关于Grails框架下进行RESTful服务开发的教程。Grails是一个使用Groovy语言编写的高生产力的框架,其使用约定优于配置的理念,允许快速开发Web应用程序。...
对于Grails开发,我们需要的是Eclipse中的Grails插件,它能够提供对Grails项目的创建、运行、调试等一系列功能。 **Grails**是基于Groovy语言的全栈式Web开发框架,它借鉴了Ruby on Rails的设计理念,提供了快速...
验证是Web开发中不可或缺的一部分,Grails通过声明约束和验证约束来实现。它支持客户端验证,使得可以在用户提交表单之前校验数据。Grails的国际化支持非常好,开发者可以通过简单的配置来为不同的语言环境定制应用...
### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...
在Grails中开发RESTful API是一项常见的任务,这个文档提供了基于Grails 3.1.5版本的REST教程。Grails是一种基于Groovy语言的开源Web应用框架,它利用了Spring Boot的功能,使得构建现代互联网应用程序变得更加高效...
Grails的独特之处在于它能够吸收其他流行框架的优点,比如Spring的依赖注入、Hibernate的对象关系映射能力、Quartz的强大调度功能以及SiteMesh的布局管理,而这一切都可以在Grails的简单约定和简洁语法下实现。...
Grails 插件系统是其强大功能之一,允许开发者复用和扩展已有功能。例如,有用于认证、缓存、邮件发送等的插件,可以快速集成到项目中。 **Grails Command Line Interface (CLI)** Grails 提供了一个强大的命令行...
总之,《Grails中文参考手册》覆盖了从安装、创建应用到部署和配置的全过程,对于希望掌握Grails框架的开发者来说,是一份不可或缺的学习资源。通过深入学习和实践,你将能够充分利用Grails的强大功能,快速构建出高...
3. Convention over Configuration(CoC):Grails的核心理念之一就是“约定优于配置”,这意味着开发者在很多情况下不需要写大量的配置文件,框架会自动根据约定进行工作。 二、Grails中文文档的价值 1. 学习入口...
### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...
Grails框架是建立在Groovy编程语言之上的一个完整的Web应用开发框架,它结合了Java平台的优势和动态语言的灵活性。Grails采用约定优于配置的原则,简化了开发流程,使开发者能够快速地构建高性能的Web应用程序。该...
Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...
**Grails登录系统详解** Grails是一个基于Java的开源Web应用程序框架,它使用Groovy语言进行开发,提供了高效、简洁的编程模型。在Grails中实现用户登录功能是构建任何Web应用的基础,它确保了数据的安全性和用户...