Events 挂接Grails事件,以便在不挂接af插件的情况下注入属性和方法
我的Grails项目中有一些自定义groovy类,我想在类中注入一个记录器和一些其他东西,就像它在服务类或控制器类中工作一样。“target”类中的代码将以这种方式直接访问日志,而无需进一步ado 在Grails项目中(相对于Grails插件),如何编写脚本以“doWithDynamicMethods”样式钩住事件,并以这种方式增强您自己的类 谢谢Events 挂接Grails事件,以便在不挂接af插件的情况下注入属性和方法,events,grails,hook,Events,Grails,Hook,我的Grails项目中有一些自定义groovy类,我想在类中注入一个记录器和一些其他东西,就像它在服务类或控制器类中工作一样。“target”类中的代码将以这种方式直接访问日志,而无需进一步ado 在Grails项目中(相对于Grails插件),如何编写脚本以“doWithDynamicMethods”样式钩住事件,并以这种方式增强您自己的类 谢谢 Christian Sonne Jensen在应用程序中,通常您会在grails app/conf/BootStrap.groovy中执行此操作,例
Christian Sonne Jensen在应用程序中,通常您会在grails app/conf/BootStrap.groovy中执行此操作,例如
class BootStrap {
def init = { servletContext ->
Foo.metaClass.getLog = { -> ... }
}
}
嗨,这是真的,你可以做到这一点,但我知道它可以做的脚本。不知何故,我更喜欢将增强放在脚本中的想法。我曾经看到它与Tomcat插件如何向web.xml添加内容有关。不幸的是,我现在找不到这个例子。向web.xml添加元素与向类添加元类方法完全不同。在常规的Grails应用程序中不支持像插件中那样的“doWithDynamicMethods”阶段,但不需要这样。插件需要一个钩子来注册Springbean和修改web.xml,因为这必须在启动过程的早期进行,但是您可以随时添加元类方法。所以BootStrap是一个很好的地方。