论坛首页 Java版 领域模型

Grails之我见

浏览 1624 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-12-19 关键字: Grails rails groovy
在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列表),但是其架构的理念可以值得我们去借鉴。
   
时间:2007-12-25
不知道山風小子和agile_boy看了之后會是什么樣的想法?
   
0 请登录后投票
时间:2008-01-08
我现在也在看关于Groovy方面的东西,不知道有什么可以推荐的
   
0 请登录后投票
时间:2008-01-08
不错。现在我们的大型应用,配置实在是太多了,其中大部分是完全闭着眼睛写的东西,完全可以用规约来解决。
我也是看了那本INFOQ的电子书,照着做了一把,感觉还可以。
   
0 请登录后投票
时间:2008-01-08
觉得Rails 2.0把Rails变得复杂了,去掉了原来的scaffold,开发的时候很是不顺手。昨天试了试Grails 1.0 RC3,感觉很不错,尤其是模型与数据库同步、国际化支持等。
   
0 请登录后投票
时间:2008-01-08
这几天老有人说java快到头了,如果真是这样的话。groovy就是
它的希望。
   
0 请登录后投票
时间:2008-01-09
Groovy是java的希望,又是所谓的炒作!
就像是学了几天的电脑,就说要做个操作系统一样。
   
0 请登录后投票
时间:2008-01-09
感觉groovy对于进行某些配置方面的工作非常方便,对于java者学习难度也很低,grails使用起来好像也很简单,但对其运行速度目前还是有点问题,主要比较了struts2,因此要在production环境中运行还是有段距离。
   
5 请登录后投票
时间:2008-01-09
呵呵,感觉lz的grails已经入门了,不过要想更深入的话,就需要多加深一下Groovy和Hibernate/Spring等了。
不过lz说的版本更新太快,确实是存在问题的,不过随着1.0的即将发布,我相信变化就应该没有这么神速了 :)
《权威指南》的代码,我也希望在1.0发布以后,能将其示例移植到1.0的版本上,面对再误导大家,呵呵。
   
0 请登录后投票
时间:2008-01-09
另外lz,下载grails任意版本的url是:http://dist.codehaus.org/grails/
你只需要下载*-bin*的压缩包就可以了。
   
0 请登录后投票
论坛首页 Java版 领域模型

跳转论坛:
JavaEye推荐
    快速回复 引用上一条消息 (Alt+S)