莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理

          初次接觸groovy

          Posted on 2007-02-06 13:11 dennis 閱讀(486) 評論(0)  編輯  收藏 所屬分類: 動態語言
          ?項目算完成了,等測試報告出來的時間里玩玩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,i?->?sum+=i}


          ruby的closures與groovy的closures機制幾乎完全一樣,除了符號改變之外。有興趣的話看看這個:
          http://groovy.codehaus.org/Tutorial+2+-+Code+as+data%2C+or+closures

          如果說groovy有什么優點的話,就是它可以直接利用java豐富的類庫,實在爽:
          //readFile.groovy
          myFileName?
          =?"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性能的提升,將業務層完全由動態語言來實現不是沒有可能。

          ?

          主站蜘蛛池模板: 化州市| 永仁县| 仙游县| 富源县| 思南县| 浮山县| 祁门县| 沾益县| 汉阴县| 平谷区| 海口市| 芒康县| 平陆县| 于都县| 宁德市| 乡宁县| 澳门| 隆昌县| 连云港市| 云和县| 颍上县| 洪泽县| 基隆市| 桐梓县| 松滋市| 张家口市| 靖州| 东源县| 福州市| 礼泉县| 诸暨市| 蒙自县| 赤峰市| 湘阴县| 错那县| 长阳| 凌海市| 威海市| 新蔡县| 仁布县| 台南县|