Chr*_*wes 7 groovy web-services include cross-cutting-concerns endpoint
我们正在寻找一种用于groovy脚本的包含机制,以便为横切关注提供空间.
在我的示例中,我们将Web服务端点作为groovy脚本,并希望登录到我们的Web服务协议.为此,我们使用隐式对象(从我们的框架中获取)来创建日志语句.
但是,如果我们在每个Web服务端点中对此进行编码,那么这是样板代码.
我们正在搜索php中的include(),包括其他groovy脚本,有什么想法如何做到这一点?
小智 10
Groovy将其文件视为对象(将其视为自动包装).它使java类路径中的所有.groovy文件都可用作类.所以如果你有文件util.groovy,里面包含这样的内容:
def static AuxMethod() {
return "Hello World"
}
Run Code Online (Sandbox Code Playgroud)
要从另一个文件中调用它,您只需编写:
println util.AuxMethod()
Run Code Online (Sandbox Code Playgroud)
而已.再次,确保您的util.groovy文件位于类路径中.
既然你已经提到了 \xe2\x80\x9ccross-cutting-concerns\xe2\x80\x9d 我\xe2\x80\x99d 说你需要拦截你的 webservice 调用AOP风格(不是包含机制)。
\n\nGrails 与Spring 框架完全集成,因此这为利用 Spring AOP 功能提供了一个很好的选择。查看 grails 官方指南中的这一章:\n http://grails.org/doc/latest/guide/14.%20Grails%20and%20Spring.html并搜索单词 AOP。
\n\n也许有一种纯粹的AOP 方式,但我会选择 grails 和 spring。
\n