初次接触groovy

    xiaoxiao2024-05-21  94

    项目算完成了,等测试报告出来的时间里玩玩groovy,不玩不知道,一玩吓一跳,groovy与ruby好象啊。 看看下面的代码: ruby : [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ] . inject( 0 ){ | sum , i |  sum += i} groovy : [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ] . inject( 0 ){sum , ->  sum += i} ruby的closures与groovy的closures机制几乎完全一样,除了符号改变之外。有兴趣的话看看这个: http://groovy.codehaus.org/Tutorial+2+-+Code+as+data,+or+closures 如果说groovy有什么优点的话,就是它可以直接利用java丰富的类库,实在爽: // readFile . groovymyFileName  =   " E://groovy//readFile.groovy " myFile  =  new File( myFileName)printFileLine  =  { println  " File line:  "   +  it }myFile . eachLine( printFileLine ) 语法层面没什么好谈的,我更希望了解下groovy在实际应用中的表现,IBM的develper works上面有个实战groovy系列,值的好好读读 补充下,在spring中调用groovy beans的方法: 首先需要一个java接口,比如: package  com . sohu . blog . dennis_zane . springdemo . scripting;public interface Calculator {    int  add( int  x , int  y);}然后是Groovy bean : // GroovyCalculator . groovy package  com . sohu . blog . dennis_zane . springdemo . scripting;class GroovyCalculator implements Calculator{   int  add( int  x ,   int  y){      x + y      }} 在spring配置文件中配置: < lang : groovy id = " calculator "  script - source = " classpath:/com/sohu/blog/dennis_zane/springdemo/scripting/GroovyCalculator.groovy " /> 调用的话跟使用一般的bean没什么不同: Calculator calculator = (Calculator)ctx . getBean( " calculator " ); System . out . println(calculator . add( 100 ,   20 ));

    也许随着groovy性能的提升,将业务层完全由动态语言来实现不是没有可能。

    文章转自庄周梦蝶  ,原文发布时间5.17

    相关资源:Grails入门指南(第二版)
    最新回复(0)