WEB开发网
开发学院软件开发Java Groovy 使 Spring 更出色,第 2 部分: 在运行时改... 阅读

Groovy 使 Spring 更出色,第 2 部分: 在运行时改变应用程序的行为

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 清单 7 中的 PerformanceLoggingCustomizer 替换 GroovyObject 的元类,并覆盖 invokeMethod,Groovy 使 Spring 更出色,第 2 部分: 在运行时改变应用程序的行为(7),以便添加性能计时(performance-timing)逻

清单 7 中的 PerformanceLoggingCustomizer 替换 GroovyObject 的元类,并覆盖 invokeMethod,以便添加性能计时(performance-timing)逻辑。接下来,需要配置定制程序,以便将它应用到一个或多个 Groovy bean 上。清单 8 展示了如何使用 <lang:groovy> 中的 customizer-ref 属性将一个定制程序添加到一个已有的 Groovy bean 中:


清单 8. 配置一个 Groovy 对象定制程序
  <bean id="performanceLoggingCustomizer" 
   class="groovierspring.PerformanceLoggingCustomizer"/> 
 
<lang:groovy id="pdfGenerator" 
  refresh-check-delay="60000" 
  script-source="classpath:groovierspring/GroovyPdfGenerator.groovy" 
  customizer-ref="performanceLoggingCustomizer"> 
  <lang:property name="companyName" value="Customized Groovy Bookstore"/> 
</lang:groovy> 

现在,当 GroovyPdfGenerator 中的任何方法被调用时,您将在标准输出中看到如下所示的输出。(如果您正考虑使用一个日志记录框架会更好,那么您的想法是对的!)

pdfFor took 18 millis on groovierspring.GroovyPdfGenerator@f491a6

为 Groovy bean 添加定制很简单;较难的部分是实现实际的定制逻辑 — 也就是说,当 Groovy bean 被创建时,您想对它们做什么。您看到了使用 <lang:groovy> 和它的 customizer-ref 属性的配置。如果您更喜欢使用 Grails Bean Builder 来构建 Spring bean,那么也很简单。清单 9 展示了如何添加 peformanceLoggingCustomizer bean:

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:Groovy Spring 出色

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接