在 Groovy 应用程序中,如果您想初始化元类,那么在哪里放置这些初始化的最佳位置?在 Grails 应用程序中,我使用了 Bootstrap.groovy 文件。任意 Groovy 应用程序是否有类似的东西?
编辑:为了澄清,我正在寻找一种非侵入性的方法来保证它在运行主应用程序以及相关代码的单元测试时被调用。
在 Groovy 应用程序中,如果您想初始化元类,那么在哪里放置这些初始化的最佳位置?在 Grails 应用程序中,我使用了 Bootstrap.groovy 文件。任意 Groovy 应用程序是否有类似的东西?
编辑:为了澄清,我正在寻找一种非侵入性的方法来保证它在运行主应用程序以及相关代码的单元测试时被调用。
对于标准的 groovy 应用程序,没有像 Bootstrap.groovy 这样的东西,但这并不能阻止您在应用程序中做同样的事情,并拥有一个在启动时调用一次的类或方法,您可以在其中添加元类初始化
从以下评论中添加:
您可以为每个要装饰的类编写一个 DelegatingMetaClass,并将其放入包中groovy.runtime.metaclass.[YOURPACKAGE].[YOURCLASS]MetaClass
此页面解释了执行此操作所需的步骤(页面上的第 2 项)