<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    每日一得

    不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發
    最近關心的內容:SSH,seam,flex,敏捷,TDD
    本站的官方站點是:顛覆軟件

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks
    key words : beanShell ,動態腳本

    原來第一次是在osworkflow中聽說過beanShell,最近又碰到,感覺還是挺有用的,比如對于我來說我就想有一些class文件拿過來直接調用看看,但有不想搭建一個麻煩的環境,而beanshell就可以滿足我這個需求。

    假設我欲調用的java為MyShit
    package?com.app;

    public?class?MyShit
    {
    ????
    static{
    ????????System.out.println(
    "this?is?in?static?blog");
    ????}

    ????
    public?static?void?main(String[]?args){
    ????????System.out.println(
    "this?is?in?main?method?:?hello?shit");
    ????}

    ????
    public?void?shit(){
    ????????System.out.println(
    "hello?shit!!!");
    ????}


    ????
    public?static?void?haha(){
    ????????System.out.println(
    "this?is?static?method?haha");
    ????}

    }


    javac ...
    java ..

    在dos中設置classpath,指向該class文件

    set classpath=%classpath%;c:\beanshell

    編寫一個 bsh的bat文件,便于dos直接調用beanshell腳本
    ?
    java?bsh.Interpreter?%1


    編寫一個test.bsh腳本
    //mytest
    import?com.app.*;

    print(
    "hello,it's?a?beanShell?test");

    List?list??
    =?new?ArrayList();
    list.add(
    "111");
    list.add(
    "222");
    list.add(
    "333");

    print(
    "the?list?=?"?+?list);

    Date?date?
    =?new?Date();
    print(
    "the?date?=?"?+?date);

    //method?test

    add(?a,?b?)?
    {
    ????
    return?a?+?b;
    }


    foo?
    =?add(1,?2);????????????//?3
    print("foo?=?"?+?foo);
    foo?
    =?add("Oh",?"?baby");???//?"Oh?baby"
    print("foo?=?"?+?foo);

    //about?object
    foo()?{
    ????print(
    "foo");
    ????x
    =5;

    ????bar()?
    {
    ????????print(
    "foo's?method?bar()");
    ????}


    ????
    return?this;
    }


    myfoo?
    =?foo();????//?prints?"foo"
    print(?myfoo.x?);?//?prints?"5"
    myfoo.bar();??????//?prints?"bar"

    MyShit?shit?
    =?new?MyShit();
    shit.shit();
    shit.main(
    null);
    print(
    "do?you?shit");

    //MyShit.haha();


    在dos下運行 bsh test.bsh就OK了

    另外,beanshell作為動態腳本語言可以結合 spring2.0的新特性,你新寫的業務類可以直接修改而不用重新發布,怎么樣,是不是比較方便,詳細操作請參考Springframework 2.0 與 ZK 混合開發實例

    試一試!

    詳細使用請參考官方文檔
    posted on 2007-01-09 20:01 Alex 閱讀(6518) 評論(7)  編輯  收藏 所屬分類: beanshell

    評論

    # re: beanShell不錯 2007-01-09 21:00 123steel
    beanshell作為動態腳本語言可以結合 spring2.0的新特性,你新寫的業務類可以直接修改而不用重新發布? 這里說的“不用重新發布”?是何意  回復  更多評論
      

    # re: beanShell不錯 2007-01-10 12:37 Alex
    比如ServiceImplBsh.bsh是IService的實現,如果是java的實現你修改完后必須重新編譯,重新部署,動態腳本則可以無需編譯,類似于php。 其實也是spring的一個定式刷新而已。

    如果你愿意,其實java自己也可以采用動態刷新,只不過沒有什么人這么做。  回復  更多評論
      

    # re: beanShell不錯[未登錄] 2009-02-09 16:37 test
    直接groovy?  回復  更多評論
      

    # re: beanShell不錯 2009-04-14 00:03 lxy
    那么這個會提高開發效率,不過我想知道未來系統上線,是不是真的就在支持beanshell的服務器上發布這些bsh文件?還是僅僅作為開發時候提高效率的工具,正式發布的時候改成標準class文件(這種修改量也是不?。恳环矫鎽梅掌骺赡懿徽J識.bsh文件,另一方面用這個的人畢竟少,后續的維護工作顯得難度比較大  回復  更多評論
      

    # re: beanShell不錯 2009-10-13 14:47 淡淡的
    垃圾  回復  更多評論
      

    # re: beanShell不錯 2009-11-15 21:10 no1
    beanshell很不錯,可以快速驗證一些Java代碼,不用開IDE,不用編譯;
    但如果要動態加載的話,開發階段,還是JRebel更好。  回復  更多評論
      

    # re: beanShell不錯 2009-11-15 21:11 no1
    beanshell相對于groovy、scala等有一個特點就是啟動飛快;  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 中文字幕不卡免费高清视频| 亚洲综合精品伊人久久| 国产精品亚洲二区在线观看| 亚洲福利精品一区二区三区| 国产91精品一区二区麻豆亚洲| 国产成人综合久久精品亚洲| 九九久久国产精品免费热6| jizz在线免费播放| 成人免费观看一区二区| 巨胸喷奶水视频www网免费| 免费一级毛片在级播放| 99久久亚洲精品无码毛片 | 亚洲综合色成在线播放| 西西人体大胆免费视频| 99久久免费观看| 国产精品高清全国免费观看| 亚洲欧洲日产国码无码久久99| 亚洲一区二区三区高清不卡| 一级特黄录像免费播放中文版| 亚洲国产成人乱码精品女人久久久不卡 | 麻豆69堂免费视频| 亚洲人成人网站在线观看| 亚洲伦理中文字幕| 韩国日本好看电影免费看| 亚洲人成图片小说网站| 99re6在线精品视频免费播放 | 中文字幕亚洲图片| 亚洲综合色丁香婷婷六月图片| 国产精品99久久免费观看| 亚洲AⅤ无码一区二区三区在线| 亚洲卡一卡2卡三卡4麻豆| 中文字幕不卡免费视频| 亚洲第一永久在线观看| 中文字幕在线免费播放| 自怕偷自怕亚洲精品| 免费a级毛片无码a∨免费软件| 免费中文字幕一级毛片| 在线观看片免费人成视频无码| 亚洲人成伊人成综合网久久| 四虎永久在线精品免费观看地址 | 亚洲精品国产精品乱码不卡|