Grails groovy闭包继承

Grails groovy闭包继承,grails,groovy,Grails,Groovy,groovy中的闭包继承是如何工作的?有什么特别需要注意的吗?我的应用程序是扩展一个插件控制器,如果有任何更新,我需要将其放在一边 闭包继承没有多大意义(反正我们倾向于使用它们)。实际上,闭包是闭包类的一个实例。如果我们创建了Closure的子类,那么我们可以对它们进行子类化,但我们没有。例如,在控制器中,我们将动作定义为内联实例,例如 def list = { ... } 我们可以调用list(),但这只是list.call()的语法糖,因为call()是Closure类的实例方法 在Gra

groovy中的闭包继承是如何工作的?有什么特别需要注意的吗?我的应用程序是扩展一个插件控制器,如果有任何更新,我需要将其放在一边

闭包继承没有多大意义(反正我们倾向于使用它们)。实际上,闭包是
闭包
类的一个实例。如果我们创建了
Closure
的子类,那么我们可以对它们进行子类化,但我们没有。例如,在控制器中,我们将动作定义为内联实例,例如

def list = {
...
}
我们可以调用
list()
,但这只是
list.call()
的语法糖,因为
call()
Closure
类的实例方法


在Grails2.0中,创建控制器操作的首选方法是使用方法,尽管为了向后兼容仍然支持闭包。此开关的主要原因之一是支持重载和重写,这在内联闭包中是不可能的(或至少是不实用的)。您可以在与基类实例同名的子类中定义闭包实例,但不能调用
super.list()
,因为这将导致
StackOverflowerError

Burt-感谢您的回复和支持。我仍然在集成SpringSecurityUI插件和其他插件,在消化您的答案和各种选项时,我可能会尝试以您的方式提出一个问题。尽管我很期待,但我目前认为Grails2还不是“适合我”的,因为我正在构建一个即将上线的面向公众的网站,涉及金融交易/对健壮性的需求,并寻求使用各种插件(可能不适用于2.0??)。我真的不知道——只是粗略的假设——grails学习曲线仍在上升,所以欢迎任何评论/建议。2.0相当稳定,请务必查看标记为2.0 final修复的开放问题。但是你有一个很好的观点——一些插件还没有更新。不过,大多数都应该有效,测试将发现问题。