在哪里正确初始化Groovy元类?

Ala*_*ger 5 groovy initialization expandometaclass

在Groovy应用程序中,如果要初始化元类,那么放置这些初始化的最佳位置在哪里?在Grails应用程序中,我使用了Bootstrap.groovy文件.是否有类似的任意Groovy应用程序?

编辑:为了澄清,我正在寻找一种非侵入性的方法来保证在运行主应用程序时以及在相关代码的单元测试中调用它.

tim*_*tes 8

对于标准的groovy应用程序,没有像Bootstrap.groovy那样的东西,但这并不能阻止你在应用程序中做同样的事情,并且在启动时调用一次类或方法,你可以添加metaClass初始化


从下面的评论中添加:

您可以为要装饰的每个类编写DelegatingMetaClass,并将其放在包中 groovy.runtime.metaclass.[YOURPACKAGE].[YOURCLASS]MetaClass

此页面说明了执行此操作所需的步骤(页面上的第2项)