Groovy/Grails
文章平均质量分 72
hivon
这个作者很懒,什么都没留下…
展开
-
2G资源
2G资源提示:后面的一些Blog都是建立在有了一些初步的2G知识的基础上,如果哪位大虾想学习2G的基础知识,下面是一些重要的2G资源。 1. Groovy的官方网站:http://groovy.codehaus.org/原创 2008-04-08 20:05:00 · 3805 阅读 · 1 评论 -
Groovy探索之Gstring
Groovy探索之Gstring Groovy语言里有很多看起来不起眼的小玩意,但使用以后,我们却常常会惊异于它的巨大能量,Gstring就是其中之一。Java的String对象是我们最最常用的对象,却也是诟病最多的对象。一句话来说,String使用起来非常不方便。而Gstring不但使用方便,而且更是Groo原创 2008-04-09 20:05:00 · 12355 阅读 · 2 评论 -
写在Groovy/Grails栏目开通的话
写在Groovy/Grails栏目开通的话 我从07年6月份开始接触Groovy,然后从12月份开始尝试Grails,到现在都有几个月了。几个月来,在摆弄2G的时时刻刻,会一些想法。很多时候,都想把这些想法写下来,却因种种原因搁了下来。现在终于有时间和精力来把这些不成熟原创 2008-04-08 20:01:00 · 3269 阅读 · 1 评论 -
Groovy的Eclipse插件的安装
Groovy的Eclipse插件的安装 1. 建立一个eclipsePlugin目录,当然你可以给这个目录取任何一个名字。2. 在eclipsePlugin目录下建立一个叫eclipse的目录。注意:这个目录名你只能叫eclipse。3. 从你的Eclipse安装目录copy那个ec原创 2008-04-09 20:16:00 · 4484 阅读 · 0 评论 -
Groovy探索之闭包 一
Groovy探索之闭包 一 动态语言的闭包是一个永恒的话题。闭包在编码过程的方便和快捷使得动态语言的拥护者对它津津乐道,而静态语言特别是Java语言的扇子们会拿出匿名内部类来说Java语言也有类似的功能。我使用Java语言至今也有六七年的时间了,实话来说我也很喜欢Java语言,但我万万不敢拿Java语言的匿名内原创 2008-04-11 20:28:00 · 5717 阅读 · 5 评论 -
Grails项目的Eclipse集成
Grails项目的Eclipse集成 我们真正开发一个项目,是离不开IDE的。而Eclipse恰恰是Java平台最常用的一个IDE。所以我一接触到Grails平台,第一个念头就是怎么把它集成到Eclipse上去。将Grails项目集成到Eclipse里头去真的很简单,但也有一些需要注意的地方。下面就是在Eclipse里集成Grails项目的过程: 1. 我原创 2008-04-10 22:33:00 · 7043 阅读 · 4 评论 -
Groovy Tip 1 ==、equals及其他
Groovy Tip 1 ==、equals及其他 我们说基于Groovy语言的Java项目开发是一个敏捷的开发,除了我们使用Grails作为Web开发平台,Groovy语言本身就提供了很多敏捷的地方。我们知道,在Java语言中,判断两个字符串的值是否相等,我们使用equals方法,而“==”作为判断两个对象引用是否相同原创 2008-04-14 18:16:00 · 16105 阅读 · 0 评论 -
Groovy Tip 3 如何在if条件语句中判断对象为空
Groovy Tip 3 如何在if条件语句中判断对象为空 在Java语言编程中,对对象的非空判断是一个永恒的话题。例如,我们经常需要对一个字符串进行如下的判断: if(str!=null&&!str.equals("")) { ...... }输入这样的语句的确使人生厌,而且有时候还会忘掉输入“!str.equal原创 2008-04-17 06:49:00 · 13331 阅读 · 0 评论 -
Groovy探索之闭包 二
Groovy探索之闭包 二 自从编程进入面向对象时代,大家都在孜孜不倦的同面向过程作斗争。想想看,我们大家都爱使用、并且奉为经典的Bang of Four的模式,有多少是针对if…else…这样的语句进行优化的。但是,即使我们做了如上述的大量努力,一些面向过程的语言仍然站在那里嘲笑着我们的无能。一.解决经典的try…c原创 2008-04-15 18:09:00 · 3838 阅读 · 4 评论 -
Groovy Tip 2 each方法和break
Groovy Tip 2 each方法和break 在Groovy这样的动态语言中,闭包是其中的一个重要武器。而这些语言的开发者自然不会放弃使用这些武器,我们可以看到在Groovy语言的集合类中,广泛的使用了闭包。其中,each方法就是这样一个使用闭包的方法。我们知道,在Java中,我们使用下面的语句对集合类对象进行遍历: for(int i=0;isiz原创 2008-04-16 19:44:00 · 11915 阅读 · 9 评论 -
Groovy Tip 4 对象非空判断及“?”运算符
Groovy Tip 4 对象非空判断及“?”运算符 对于一个Domain类对象,如下面的例子:class Empl{ String name} 我们需要对它进行操作,比如打印“name”属性的值,我们首先要对它进行非空判断,如下: def em if(em) {原创 2008-04-18 13:38:00 · 7865 阅读 · 1 评论 -
Grails项目数据源的配置
Grails项目数据源的配置 网上有很多关于Grails项目数据源的配置的文档,但好多文档将的都是Grails1.X之前的配置,而对于Grails1.X项目数据源的配置绝大多数语焉不详;Grails官方文档也对这个内容一笔带过。打开网上任何一个有关Grails1数据源配置的文档,都会告诉我们,有关数据源的配置在Grails项目的gr原创 2008-04-17 18:55:00 · 5262 阅读 · 0 评论 -
Grails探索之Template
Grails探索之Template Grails开发平台在View技术方面,我最喜欢的技术除了引入了flash变量以外,就是Template技术。Java平台在View方面最方便的重用技术就是include。虽然Tiles等功能非常强大,但由于配置的繁琐,使得它们在作为整个项目的Layout以外,几乎就没什么应用。Inclu原创 2008-04-22 16:22:00 · 8139 阅读 · 3 评论 -
Groovy Tip 5 数组
Groovy Tip 5 数组 一、数组的定义及赋初值在Groovy语言中,数组的定义和Java语言中一样。 def a = new String[4] def nums = newint[10] def objs = new Object[3] 然后赋值也一样: a[0]原创 2008-04-21 18:14:00 · 16422 阅读 · 0 评论 -
Groovy Tip 7 “<<”操作符
Groovy Tip 7 “ “一.对List对象和Set对象的操作对于List对象,在前面的文字里我们提到过: def list = [a,b,c] list.each{ println it } println---------原创 2008-04-29 09:22:00 · 7486 阅读 · 2 评论 -
Grails探索之资源文件的读取
Grails探索之资源文件的读取 标题为《Grails探索之资源文件的读取》,但其实是Groovy语言的资源文件的读取,任何使用Groovy语言的地方都可以使用这种方法读取资源文件。因为我们使用Groovy语言的地方,大多要体现在使用Grails上,而且作为一个Grails项目,使用资源文件是必不可少的。因此,我还是把标题定为“Gra原创 2008-04-29 18:09:00 · 4850 阅读 · 1 评论 -
Groovy探索之对Java语言反射的简化
Groovy探索之对Java语言反射的简化 Java语言的反射功能是我们不得不使用的功能,但事实上它的使用是相当繁琐却在功能上比较单一的一个功能。例如,我们使用Java语言反射最多的地方是在运行时对POJO对象或者Domain对象的“set”和“get”方法的调用,因为对象属性是私有的,获取和设置对象属性的值是通过对应的“get”和原创 2008-04-20 20:07:00 · 7775 阅读 · 2 评论 -
Groovy Tip 6 集合类的简化操作
Groovy Tip 6 集合类的简化操作 Groovy语言对Java语言的简化在集合类上是表现最为突出的,那个著名的each方法就不需要我多说了,因为“地球人都知道”。一.赋初值的简化对于List对象,在Java语言中是这样赋初值的: List list = new ArrayList();原创 2008-04-23 09:18:00 · 4579 阅读 · 3 评论 -
Groovy探索之闭包 三
Groovy探索之闭包 三 我们知道,Groovy语言是建立在JVM的基础上的,我们在使用Groovy语言的时候,就迫切希望我们Groovy程序能够运用自如的使用以前的Java API或者以前Java代码的积累。在JDK中,对内部类的使用是很多的,但Groovy语言是不支持内部类的,我们该怎么办呢?请看下面的例子:publiccl原创 2008-04-23 18:54:00 · 8748 阅读 · 2 评论 -
Groovy Tip 8 GroovyBean
Groovy Tip 8 GroovyBean 做这个主题的时候,我曾想了好些天,要不要做这个主题。因为Groovy Bean对于使用Groovy语言的开发者来说再熟悉不过,说不定每天都在用它。犹豫了好多天,才决定把它写下来。因为我也使用Groovy Bean很久了,但很多概念也是慢慢搞清楚的,在写代码的时候走了一些弯路。原创 2008-04-30 08:28:00 · 3415 阅读 · 1 评论 -
Grails探索之访问存储过程及其事务控制
Grails探索之访问存储过程及其事务控制 给Grails项目配置好了数据源以后,就可以访问数据库了。Grails开发平台已经为我们配置好了Hibernate,我们可以使用GORM通过Hibernate访问数据库。这些在官方文档上有了一个初步的、详细的描述,这里就不再重述。在很多的时候,我们会使用存储过程访问数据库,而不是使用ORM,因为存储过原创 2008-04-24 18:40:00 · 5151 阅读 · 1 评论 -
Groovy还是Jruby?
Groovy还是Jruby? 作者:Shay BanonGroovy还是(J)Ruby?这是我一直在思考的问题。我们所有的开发者都应该学习一门脚本语言,这是毫无疑问的。而且我这里所说的的学习,其实是指精通它的意思。目前,在Java世界,我翻译 2008-04-25 16:45:00 · 5285 阅读 · 1 评论 -
Groovy探索之invokeMethod方法
Groovy探索之invokeMethod方法 我们知道,在Java语言中,所有的Java类都继承了Object对象。通过Object对象,所有的Java类都隐藏的实现了“equals”等方法。同样,在Groovy语言中,所有的Groovy类都隐藏的实现了GroovyObject接口,这样,我们的Groovy类就隐藏的实现了很多的方法,如“原创 2008-04-27 16:28:00 · 7623 阅读 · 7 评论 -
Groovy探索之Builder 一
Groovy探索之Builder 一 Groovy语言的builder,或者说Builder模式,可以说是DSL的核心,在Groovy语言中的使用到处都是。对于我们来说,使用builder是相当容易的,这当然是DSL带来的好处,使得编码相当简单和直观。但另一方面,写出自己的builder又相当的不容易,虽然Groo原创 2008-05-04 16:12:00 · 5525 阅读 · 4 评论 -
Groovy探索之Builder 二
Groovy探索之Builder 二 在前面的部分,我以MarkupBuilder为例介绍了如何使用Builder,通过它,我们可以看过了DSL编程的威力。当然了,既然看到了Builder功能的强大,我们就忍不住想自己创建一个Builder,来构建我们自己的DSL编程。在Groovy语言中,我们有BuilderSupp原创 2008-05-05 18:21:00 · 3243 阅读 · 0 评论 -
Groovy Tip 10 Groovy语言对String的简化操作
Groovy Tip 10 Groovy语言对String的简化操作 在Groovy语言中,对String对象的操作就像操作List对象一样的方便。比如我们在Java语言中,对String对象的操作用得比较多的是substring方法。如下: String str = "abcdefg"; System.out.printl原创 2008-05-05 07:48:00 · 10815 阅读 · 9 评论 -
Groovy探索之闭包 六
Groovy探索之闭包 六 探索闭包的应用是一件很有意思的事,它的有意思在于我们永远不知道有哪些地方不能应用到闭包,或者说在每一个角落,你都能找到闭包让人眼睛一亮的应用。今天到谈到的是闭包的有关于DSL的应用。DSL应该是这两年才兴起的一个概念,有关它的一些知识,请查阅相关文档。DSL的优越性在于它的接近自然语言,以原创 2008-07-08 08:02:00 · 2845 阅读 · 1 评论 -
从Spring+Struts到Grails
从Spring+Struts到Grails 虽然网上大量有人在宣传从Spring+Struts平台迁移到Grails平台的平缓,事实上也是如此。但资深的Spring+Struts平台开发人员迁移到Grails平台仍然需要有一些转变,其中大部分都是开发思想或者开发思路的转变。第一. 开发方式的转变。原创 2008-05-06 18:13:00 · 3005 阅读 · 3 评论 -
Groovy Tip 11 GDK的Object扩展方法
Groovy Tip 11 GDK的Object扩展方法 GDK对Java的Object类做了很多的扩展,但这些方法主要用于集合类和其他的组合类对象。其中,最著名的就是each方法,each方法在这里不再介绍,但其他一些方法也会比较常用。1. 方法any是指只要集合类对象中的任何一个元素符合闭包的条件,就返回true。如:原创 2008-05-07 08:06:00 · 2760 阅读 · 0 评论 -
Groovy探索之Builder 三
Groovy探索之Builder 三 因为我们知道builder模式是从使用MarkupBuilder开始的,而MarkupBuilder是生成xml文件的。很自然的,当我想做第一个自己的builder的时候,我就会做一个table的builder。用来生成如下的代码: Name Age原创 2008-05-07 18:19:00 · 2749 阅读 · 0 评论 -
Groovy探索之Adapater模式
Groovy探索之Adapater模式 我们知道,Adpater模式的一个作用体现在对旧代码的改造上。比如,像我在前面的文字中讲到的控制灯开关的问题。有这么一个灯的类:class Light { def turnOn() { printlnThe light原创 2008-05-08 18:42:00 · 2466 阅读 · 1 评论 -
Groovy Tip 12 Range的用法
Groovy Tip 12 Range的用法 Groovy语言的Range的用法值得一说,因此还是把它单独提出来说一说。Range作为Groovy语言的一种数据类型,其实非常简单。Range类型数据的标志是“..”,形式如下: def range = 1..10 Range类型和集合类型一样,可以使用那些使用原创 2008-05-09 08:37:00 · 4340 阅读 · 1 评论 -
Groovy探索之运算符的重载 二
Groovy探索之运算符的重载 二 前一篇详细的说了说算术运算符和关系运算符的重载,这篇要说说赋值运算符和取值运算符,即“.”运算符的重载。还是以前一篇的Yuan类来作为例子。class Yuan{ def num def toString() { this.num }}原创 2008-07-15 07:55:00 · 2868 阅读 · 4 评论 -
Groovy/Grails的发展与回顾
Groovy/Grails的发展与回顾 作者:cornsomething 本文是这一年以来,在美国召开令人激动的NFJS系列会议的人们汇集在一起的东西。在几个礼拜之前,我非常幸运的在西雅图参加了我的第一次会议,并且在这个周末十分高兴的说说这方面的事情。这次的座翻译 2008-05-11 23:18:00 · 4914 阅读 · 1 评论 -
Groovy Tip 13 “.&”运算符
Groovy Tip 13 “.&”运算符 在Groovy语言中,“.&”运算符是用来引用一个方法,请看下面的例子:class Foo{ def hello(name) { println"hello,${name}!" } }原创 2008-05-12 19:43:00 · 3183 阅读 · 1 评论 -
Groovy探索之闭包 四
Groovy探索之闭包 四 前面我都有数次提到过,说闭包较之于方法或者内部类都显得格外的灵活,前面的《Groovy探索之闭包》也都是围绕着闭包灵活的这一特性来阐述的。今天将要提到的是闭包灵活性的另外一个方面——curry方法。为什么说闭包的curry方法是闭包灵活性的又一个方面,我不想泛泛而谈,下面还是从几个例子说起。假设我们原创 2008-05-14 08:08:00 · 3284 阅读 · 7 评论 -
Groovy探索之Builder 四
Groovy探索之Builder 四 本来这个系列《Groovy探索之Builder》计划三个部分讲述完,也就是前面三篇就完了。之所以现在要加上这一篇,是因为我在和同事讨论的时候,他给我提出一个问题。说从最初接触Builder是因为MarkupBuilder,它是用来生成xml文件,后来你又以table作为例子,给人的感觉好原创 2008-05-15 08:31:00 · 3279 阅读 · 1 评论 -
Groovy探索之闭包 五
Groovy探索之闭包 五 《Groovy探索之闭包》进入到第五篇,重点来讲讲闭包和模式的关系。我们知道,在Java界,设计模式是名声在外了。由于模式有很好的扩展性,我们通常很喜欢使用它们。但在Java语言中使用模式,我们最大的抱怨就是代码臃肿;由于过于对依赖进行过多的拆分,造成类个数成倍增加。一句话,扩展原创 2008-05-22 07:54:00 · 3240 阅读 · 0 评论 -
Groovy Tip 15 “*”操作符
Groovy Tip 15 “*”操作符 基于Groovy语言是一个敏捷的开发语言的观点,它在很多方面给我们提供编码的方便和高效性。“*”操作符便是其中的一个例子,它被淹没在Groovy语言的很多高效特性中,不为人轻易所知,但这却恰恰说明Groovy语言编程的敏捷性。下面,我们就来说一说“*”操作符。先从一个简单的例子说起。原创 2008-05-20 07:48:00 · 2661 阅读 · 0 评论 -
Groovy Tip 14 Assert
Groovy Tip 14 Assert Assert在Java平台编程特别是Groovy语言中,应该被广泛使用,特别是在编写公用代码或者API中。假设我们有如下的一个公用方法: defstatictest(String str1,String str2) {原创 2008-05-19 07:38:00 · 5230 阅读 · 0 评论