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

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

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 清单 9. 使用 Grails Bean Builder 添加一个 Groovy 对象定制程序builder.beans{performanceLoggingCustomizer(PerformanceLoggingCustomizer)scriptFactoryPostProcessor(Sc


清单 9. 使用 Grails Bean Builder 添加一个 Groovy 对象定制程序
builder.beans { 
  performanceLoggingCustomizer(PerformanceLoggingCustomizer) 
  scriptFactoryPostProcessor(ScriptFactoryPostProcessor) { 
    defaultRefreshCheckDelay = 20000 
  } 
  pdfGenerator(GroovyScriptFactory, 
         'classpath:groovierspring/GroovyPdfGenerator.groovy', 
         performanceLoggingCustomizer) { bean -> 
    companyName = 'Refreshable Bean Builder Bookstore' 
    bean.beanDefinition.setAttribute( 
      ScriptFactoryPostProcessor.REFRESH_CHECK_DELAY_ATTRIBUTE, 60000) 
  } 
} 

更巧妙的数据库

不需要使用 JAR,Spring 提供了对内联脚本和通过 Spring Resource 抽象装载的脚本的支持。在 第 1 部分 中,您看到了内联脚本和基于 Resource 的脚本 — 尤其是 CLASSPATH 资源。您使用 可刷新 bean 添加了更多的动态行为。Spring 装载、编译和刷新动态语言 bena 的能力依赖于 ScriptSource 接口,如清单 10 所示(不完整的 Javadocs):


清单 10. ScriptSource 接口
public interface ScriptSource { 
 
  String getScriptAsString() throws IOException; 
 
  boolean isModified(); 
 
  String suggestedClassName(); 
} 

ScriptSource 定义 3 个方法:一个方法获取脚本源代码,一个方法确定脚本是否已被修改,还有一个方法返回一个用于脚本的建议类名。Spring 为这个接口提供了两种实现:StaticScriptSource 和 ResourceScriptSource。当在 Spring 配置文件中定义脚本时,可以使用 StaticScriptSource。ResourceScriptSource 则用于从任何 Resource 装载脚本(例如,从 CLASSPATH 上的文件中或从 URL 装载脚本)。

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

Tags:Groovy Spring 出色

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