Groovy使Spring更出色,第2部分: 在运行时改变应用程序的行为 - 编程入门网
getMetaClass()) {
@Override
public Object invokeMethod(Object object, String method, Object[] args) {
long start = System.currentTimeMillis();
Object result = super.invokeMethod(object, method, args);
long elapsed = System.currentTimeMillis() - start;
System.out.printf("%s took %d millis on %s\n", method, elapsed, object);
return result;
}
};
metaClass.initialize();
goo.setMetaClass(metaClass);
}
}
Groovy使Spring更出色,第2部分: 在运行时改变应用程序的行为(4)时间:2011-08-27 IBM Scott Leberknight清单 7 中的 PerformanceLoggingCustomizer 替换 GroovyObject 的元类, 并覆盖 invokeMethod, 以便添加性能计时(performance-timing)逻辑。接下来,需要配置定制程序, 以便将它应用到一个或 多个 Groovy bean 上。清单 8 展示了如何使用 <lang:groovy> 中的 customizer-ref 属性将一 个定制程序添加到一个已有的 Groovy bean 中: 清单 8. 配置一个 Groovy 对象定制程序
现在,当 GroovyPdfGenerator 中的任何方法被调用时,您将在标准输出中看 到如下所示的输出。( 如果您正考虑使用一个日志记录框架会更好,那么您的想法是对的!)
为 Groovy bean 添加定制很简单;较难的部分是实现实际的定制逻辑 — 也 就是说,当 Groovy bean 被创建时,您想对它们做什么。您看到了使用 <lang:groovy> 和它 的 customizer-ref 属 性的配置。如果您更喜欢使用 Grails Bean Builder 来构建 Spring bean,那么 也很简单。清单 9 展 示了如何添加 peformanceLoggingCustomizer bean: 清单 9. 使用 Grails Bean Builder 添加一个 Groovy 对象定制程序
更巧妙的数据库 不需要使用 JAR,Spring 提供了对内联脚本和通过 Spring Resource 抽象装 载的脚本的支持。在 第 1 部分 中,您看到了内联脚本和基于 Resource 的脚本 — 尤其是 CLASSPATH 资源。您使用 可刷 新 bean 添加了更多的动态行为。Spring 装载、编译和 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |