在China-pub上看到《Grails权威指南》作为强力推荐的书,终于忍不住,要一探这个基于被Java SE 6支持的脚本语言Groovy之上的Rails框架了。恰逢infoq推出了《Getting Started with Rails》中译本的书推出,赶快一睹为快。
Grails的版本进化得太快,我是读着原程序看完的,因为无法运行,在Grail的网站上已经找不到grails 0.5的版本了(不知道是不是我老了,眼睛不好了:P )。实在不习惯于使用notepad之流的东西来写代码(我已经被eclipse彻底的腐化了),下了一个Grails for eclipse的插件,结果这东西让我痛不欲生,代码照着书上的写上去,却无法运行,注释了,重新来一遍,居然又好了,极度不稳定。不过错误,倒是让我意外的了解了部分grails框架的东西。
闲话少说,还是谈一谈个人感受。
以下是我的总结:
一、Rails框架
rails框架的思想就是敏捷开发。主要信奉的原则“规约重于配置”(convention over configuration)。
二、Grails
grails是建立在Groovy基础上的一种Rails框架。Groovy较之其它脚本语言的优势在于可以直接调用Java类。
Grail框架使用以下:
Hibernate--->提供ORM映射
Spring --->提供MVC以及依赖注入
SiteMesh --->提供界面布局管理
三、Grails开发及特点
1. 建立项目 grails create-app
2. 进入项目
3. 建立领域类 grails create-domain-class
(1)对于对象的属性的定义
(2)对于对象与对象之间的关系定义
注:类似于Hibernate或JPA使用Annotation进行关系映射
(3)执行验证
注:类似于struts的validateForm做的工作
4. 建立控制器 grails create-controller
(1)对态Action生成,生成CRUD
scaffold = true
(2)通过控制器中定义的Action来导航
注:类似于Struts的xml配置文件中的method
(3)通过解析URL来实现导航判断,即进入哪个
(4)通过重载默认值来定制
(5)对象的保存方法(ORM方法的自动织入)
可以在对象上直接调用 save()等方法
注:类似于JPA中使用EntityManageer来管理类,加载于对象上,可以通过AOP来实现, 不知道Grails是不是这样做的。
(6) 错误消息提示
注:类似于Struts中的error message
总结:从Grails的框架来看,其通过规约来实现了一系列的常用的操作,从目前来看,要将grails用于商用,还是不太实际,从稳定性、健壮性各个方面(有空去看一看grails框架的bug列表),但是其架构的理念可以值得我们去借鉴。
分享到:
相关推荐
Grails 是一个使用 Groovy 语言的高效、敏捷的 Web 开发框架,它构建在 Spring Boot 之上,提供了一套全面的工具和服务,简化了开发流程。这个特定的版本 2.2.4 是 Grails 的一个稳定发行版,发布于2014年,包含了...
1. **Groovy语言**: Grails是建立在Groovy语言之上的,Groovy是一种简洁、动态的面向对象编程语言,它与Java语法兼容,但更易于阅读和编写。Groovy的动态性使得代码更简洁,开发更快捷。 2. **MVC架构**: Grails...
Grails GWT插件介绍Google Web Toolkit (GWT) 是一种高级 AJAX 框架,允许您使用 Java 开发丰富的用户界面,从而利用类型检查和代码重用。 然后 GWT 将编译您的 Java 代码并生成可以包含在您选择的任何网页中的快速...
Greach 2015 Grails Goodness Greach 2015 上 Grails Goodness 会议的代码片段 demo文件夹包含会话期间显示的代码。 sandbox文件夹包含更多在会话期间没有时间显示的代码。 要查看演示gradle -b presentation....
它还提供了一个 REST 接口来发送管理器 JMS 队列和 Grails 应用程序来通过网站管理 GPIO。编译首先必须从所需的软件是 Git 和 Maven 的来源创建二进制文件。 通过git clone https://github.com/mariniss/PiMQ.git...
或见。 特征 简单的 1-2-3 工作流程(1.搜索、2.子集、3.下载) 分面搜索,轻松发现数据集合 通过 WMS 下载前可视化子集结果 从各种网络服务(例如 WFS)下载数据 可配置的主题和启动页面 开始使用门户 从源头构建 ...