posts - 38, comments - 2, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Nutz框架

          Posted on 2010-11-12 21:10 squirrel 閱讀(500) 評論(0)  編輯  收藏

          對于 Java 程序員來說,除 SSH 之外,的另一個選擇:

          Nutz

          當然,它是開源的,并且是完全免費的,同時也是商業友好的(Licensed under the Apache License, Version 2.0)。

          同傳統的 SSH 相比,它具備如下特點:

          • -- 當前最新版,整個 jar 文件共 820k
          • -- 針對 JDBC 的薄封裝,無緩存
          • -- 提供了 Dao (ORM, SQL 管理), Ioc, Aop, Mvc, Json解析 等必要功能
          • -- 各個部分可以獨立使用,比如在 Spring 里采用 Nutz.Dao ,又比如在 Nutz.Ioc 里使用 Hibernate
          • -- 它所有功能均不依賴第三方 jar 文件。
          這就意味著:如果一個 Web 應用,你在 WEB-INF/lib 下只 需要放置一個 nutz.jar 就夠了

           

          當然你要使用其它的連接池,數據庫驅動,打印PDF支持等功能,還需要自行添置 jar 包。

          Nutz 為誰而設計?

          • 如果你覺得 Hibernate 控制比較繁瑣,iBatis 編寫SQL又比較麻煩,Nutz.Dao 專為你設計。
          • 如果你覺得在多個服務器部署或者修改 Spring 配置文件很麻煩,Nutz.Ioc 專為你設計
          • 如果你覺得直接寫 XML 配置文件很麻煩,可視化編輯器又沒控制感,Nutz.Mvc 專為你設計
          • 如果你覺得 JSON 轉換很麻煩(要寫超過一行以上的代碼),Nutz.Json 專為你設計
          • 如果你覺得 Java 語法不如 Ruby 便捷, Nutz.Castor 以及 Nutz.Lang 專為你設計
          • 如果你以前根本沒接觸過 SSH ,只使用 JDBC 編程, 整個 Nutz 專門為你設計
          • 你只要在你的 classpath 下部署這個 800多K 的小 jar 包,你會得到上述所有好處

          我要使用 Nutz,該從那里入手呢?

          1. 下載 Nutz -- 包括文檔和源碼都包含在下載包中
          2. 閱讀文檔 -- Wiki 頁面 有充分的介紹,每個部分都有 Hello World
          3. 運行 Demo -- Demo 在不斷的添加中 ... 現在已有 7 個可用 Demo
          4. 編譯 -- 請看詳細介紹
          5. 運行測試 -- 請看詳細介紹

          另外:

          1. Amosleaf 寫了一個 Nutz.Dao 入門的例子
          2. Peter Tung 寫的 Nutz Json Book 幾分鐘可以讓你對 Json 解析入門

          Nutz 的質量

          托社區的福,截至到現在為止,Nutz 一共通過了超過 500JUnit測試。其中有 152 個用例針對數據庫,并在如下數據庫中工作良好:

           

          截止到 1.a.31 為止,大約有 66% 的代碼被 JUnit 測試用例覆蓋:
          更多詳情,請請 查看最新emma測試報告
          在一個功能告一段落以后,我通常會花1-2個晚上在一邊咂著廉價的紅酒一邊頗有成就感的書寫JUnit測試。 通常我會用 JUnit 把我自己擊潰,緊接著的那幾天我都努力讓那個該死紅條變綠,之后,又想方設法寫出 新的Junit測試試圖讓它再度變紅。并且我還要保證所做的修改不能讓代碼膨脹,這的確讓我死掉了不少腦 細胞。這些測試中,不僅涵蓋各種功能上的測試,也涵蓋了一些跨越線程的測試。在以后,我會針對代碼執 行的效率加入一些新的測試。

           

          我能保證的就是Nutz的代碼是小巧的,以及通過盡可能多的 JUnit 測試。但是所有我能做的也就只是 這些了,找出剩下的那些代碼上的缺陷,就應該交給 Nutz 第一批“小白”們了。“小白”們,加油!我 支持你們...
          小白: 是小白鼠的簡稱。小白鼠是實驗室的最愛,實驗室是產生新東西的地方。
          注: 從 09年9月開始,隨著“小白”們的不斷增多,項目的 Issue 列表越來越長,不斷的有人發現缺陷,也不斷的有人 提交修復,現在,基本上是整個社區在決定 Nutz 的品質。

           


          Nutz 的未來

          Nutz 是一個新興的開源項目

           

          它沒有過去,只有未來
          我可以保證,在未來,Nutz 的代碼 絕對不會膨脹。 所有的功能設計的出發點就是最大限度給予程序員實惠。
          • 下面一些計劃會被執行,但是不一定按照我給出的順序:
          •   *  Nutz  Ioc  Mvc 開發一個代碼生成器
             
            * Nutz.mvc 支持自動生成縮略圖
             
            * Nutz 建立一個官方網站,提供討論區和 Wiki
             
            * 提供英文文檔

          • Nutz 會是一個長期的項目,因為
          •  
               1. 我寫它不花錢
               
            2. 我喜歡寫代碼
               
            3. 我不擔心自己的生計
               
            4. 社區很活躍,越來越多的人在貢獻代碼,測試,提交問題

          本文是使用 B3log SoloSolo 示例 進行同步發布的

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


          網站導航:
           
          主站蜘蛛池模板: 新兴县| 青川县| 武隆县| 伊吾县| 永善县| 扶沟县| 岳普湖县| 伊春市| 肇源县| 天长市| 鸡东县| 六安市| 浑源县| 蒲城县| 共和县| 九江县| 佛冈县| 青浦区| 丹阳市| 平阳县| 彰武县| 织金县| 柳州市| 秦皇岛市| 陕西省| 广德县| 曲麻莱县| 洛宁县| 岳普湖县| 白玉县| 迁西县| 浮梁县| 纳雍县| 读书| 四子王旗| 射阳县| 花垣县| 营山县| 独山县| 刚察县| 芦山县|