阅读更多
对于 Java 程序员来说,除 SSH 之外,可能还有另外一个选择 -- Nutz

当然,它是开源的,并且是完全免费的。

同传统的 SSH 相比,它具备如下特点:

  • -- 当前最新版,整个 jar 文件共 524k
  • -- 针对JDBC的薄封装,无缓存
  • -- 提供了 Dao (ORM, SQL 管理), Ioc, Mvc, Json解析 等必要功能
  • -- 各个部分可以独立使用,比如在 Spring 里采用 Nutz.DaoNutz.Ioc 里使用 Hibernate
  • -- 除了AOP部分依赖了 javassist,其它所有部分均不依赖第三方 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 下部署这个 500多K 的小 jar 包,你会得到上述所有好处



关于 1.a.15 版本
  • 1.a.15 是第15个 Alpha 版,其部分底层在这个版里被重写
  • 经过了 14 个版本的发布,这个版本已经比较稳定。
  • 这里是 Nutz 的jar包命名规则
  • 全部单元测试为 309 个,其中有106个用例是专门针对数据库的,在 Oracle/Psql/MySql 上全部通过
  • Nutz 还设计支持 DB2 以及 SQLServer ,但是本版发布时并未运行过测试
  • 对于更多的数据库,提供扩展点便于用户扩展


关于文档和路线图
  • 由于资源有限,Nutz 的源代码几乎没有注释,
  • 某些关键接口的 JDoc 注释稍后会被添加。
  • 函数内注释也很少,因为大部分函数很短,通过函数名和参数,基本能猜测出这个函数的意图。
  • 用户文档正在编写阶段,所有 Dao 部分的文档已经编写完毕,可以下载,项目成员正在排错
  • Ioc, Mvc, 的文档正在编写中 ...
  • Json 部分的文档,有一个简单的 PDF: http://nutz.googlecode.com/files/Nutz_Json_Book.pdf
  • 项目的 Wiki 页面也在整理中,国庆过后,1-2周内推出
  • 整个项目在年底有望发布 Beta 版。


关于交流


关于应用
  • 现在只有一个商业应用采用了这个框架。
  • 等超过 5 个商业应用采用了这个框架,我们会做一些总结,并制作一个 Wiki 页
  • 我们还在寻找这样的商业项目,并给于其免费的支持。

67
7
评论 共 83 条 请登录后发表评论
63 楼 01404421 2009-09-25 08:55
源码没有注释....可不是个好习惯
62 楼 treblesoftware 2009-09-24 23:02
好东西!
61 楼 black.angel 2009-09-24 17:25
LZ  愿意开源就很不错了。
60 楼 caoyangx 2009-09-24 16:51
http://hi.baidu.com/ajf8/blog/item/d8861435117ff23d5ab5f5fc.html
glovebx 写道
caoyangx 写道
我没有运行,也没有测试。我只是看了一下源码!
其实我已经很挑剔了,但是nutz的代码很工整、很简约、清晰明了,将java规范和设计模式应用得丝丝入扣,恰到好处。nutz的很多思路来源国外大师们的杰作,感觉在某些设计细节和思路上已近超越了他们,我可以很负责的说,真是国内不多见的旷世绝作,即使我没有真正的使用,光看源码我已经是受益匪浅、胜读十年了。


对框架本身好坏与否,我想是各入花眼。
不过貌似这种很"旷世"的话,还是少说为好吧。

有人羡慕有人妒
无心开源无心助
待到鸦雀谦学时
中华软件皆进步
59 楼 zozoh 2009-09-24 16:17
juvenshun 写道
为什么发布了版本而没有svn tag呢?

Beta 才会考虑建 tag
58 楼 juvenshun 2009-09-24 15:04
为什么发布了版本而没有svn tag呢?
57 楼 axhack 2009-09-24 13:10
这个框架我一定要支持
56 楼 ajf8 2009-09-24 12:43
ibatis hibernate的完美融合 java敏捷开发平台 ajf3.0 http://hi.baidu.com/ajf8/blog/item/d8861435117ff23d5ab5f5fc.html
祝大家国庆中秋快乐哈
55 楼 pearson 2009-09-24 11:51
我更关心的是MVC “控制器” ,“视图” 表现。有没有比struts ,webwork.精巧,简单。
54 楼 pearson 2009-09-24 11:47
Jekey 写道
引用

有趣的Nutz
2009-09-22 20:54
碰巧看到有国人开发的Nutz项目,它是一个Java的项目,不好说它是什么,但是它实现了SSH相似的功能,至少作者是这样说的。SSH是什么,原本我也不清楚,后来才明白是Structs, Spring, Hibernate的缩写,我晕。作者很有激情,感觉比我强,但是对代码要求很高,其中作者的原话:
Nutz 会是一个长期的项目,因为首先,我运营它的官网不需要什么开销,其次我个人最大的爱好就是写程序,最后,我虽然欢迎,但是并不假设有人会加入这个项目和我一起写代码。并且我向毛主席保证,我很欢迎大家通过 Email 等方式告诉我我代码哪里是需要修改的,但是要想拿到我的 svn commit 权限,除非你能证明你代码写的不比我差,否则门儿都没有。



其实是对JDK1.5 以上“持久层”的封装,依赖于Annotation。
53 楼 布衣大盗 2009-09-24 11:22
就点了下源码。。发现一行注释没看到。。。
52 楼 Jekey 2009-09-24 10:56
引用

有趣的Nutz
2009-09-22 20:54
碰巧看到有国人开发的Nutz项目,它是一个Java的项目,不好说它是什么,但是它实现了SSH相似的功能,至少作者是这样说的。SSH是什么,原本我也不清楚,后来才明白是Structs, Spring, Hibernate的缩写,我晕。作者很有激情,感觉比我强,但是对代码要求很高,其中作者的原话:
Nutz 会是一个长期的项目,因为首先,我运营它的官网不需要什么开销,其次我个人最大的爱好就是写程序,最后,我虽然欢迎,但是并不假设有人会加入这个项目和我一起写代码。并且我向毛主席保证,我很欢迎大家通过 Email 等方式告诉我我代码哪里是需要修改的,但是要想拿到我的 svn commit 权限,除非你能证明你代码写的不比我差,否则门儿都没有。


51 楼 haiyupeter 2009-09-24 09:54
支持国产开源项目呀,只要是能解决问题,那无论轻重框架,我觉得都一样可以用呀。
50 楼 bqw_5189 2009-09-24 08:38
目的 Wiki 页面也在整理
49 楼 longer042 2009-09-24 08:23
以前做web开发。。。一些小的都是用jsp+jdbc来做的。。。有时候觉得写这么多代码很痛苦。但是项目又小。。要用ssh来做 。。有点大。。现在总算有个轻型的框架出来了。。。呵呵 不错。。。待研究
48 楼 longer042 2009-09-24 08:19
JSON的可阅读性比XML强太多了!
InnocentBoy 写道
hilliate 写道
InnocentBoy 写道
有这么强吗?


至少给国人一些信心,假使现在没那么强,大家也可以多出出主意让它变得更强嘛。

国产的???

就是国产的。。。。是不是很多人听到国产就没信心了?
47 楼 malasun 2009-09-24 07:26
你这人很小气,删我的帖子,我看就算了吧。
46 楼 lovejing 2009-09-23 23:28
很好很强大
45 楼 fnet 2009-09-23 22:55


刚刚测了一下dao
非常简洁、非常不错。

和臃肿的SSH2相比,Nutz 很棒。

我也正在参与策划一个项目,也许会用Nutz做些功能,希望能竟快完善文档。

44 楼 mallon 2009-09-23 21:46
绝对支持,JSON的可阅读性比XML强太多了!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • JBuilder编程实例(源代码)

    提供JBuilder源码,里面有很多系统实例。

  • Java JBuilder应用开发实例集.rar

    Java JBuilder应用开发实例集,用JBuilder开发Java应用程序的新手朋友,如果对JBuilder下的JAva布局不熟悉,可以通过这些简单的实例做些了解,现在JBuilder大多情况下都用于移动平台的应用开发了,多学无害处。

  • JBuilder程序设计实例教程-源代码(上)

    java swing非常实用的例子,适合初学者研究

  • JBuilder程序设计实例教程-源代码(下)

    JBuilder程序设计实例教程-源代码(下)

  • 图解Java开发工具JBuilder 9.0(三)

    三)对象浏览器  在用户界面设计器上任选一个控件,则在右下方就会出现对象浏览器。对象浏览器在程序开发中具有非常重要的作用,是用户进行可视化编程的基础。对象浏览器的主要作用是向用户提供对象的声明段中的属性(Properties)的访问,如读取和修改。同时,对象浏览器还提供了对象的事件(Events)的设置,在这些设置中往往可以完成在面向对象技术中需要很多工作才能完成的任务,甚至这些改变属性和事件的工

  • 利用JBuilder开发调试Servlet(一)

    利用JBuilder开发调试Servlet(一)黄微、陆伯鹰  Borland JBuilder 2.0(以下简称JBuilder)是Java开发工具中的佼佼者,它提供了Servlet Wizard帮助用户进行Servlet的开发与调试。下面介绍利用JBuilder 2.0进行Servlet开发调试的步骤。  1.安装JSDK,建立Servlet开发环境  利用JBuilder开发调试Se

  • 用Eclipse调试Java程序

    这篇文章主要介绍如何用Eclipse来调试一个Java程序,用一个例子来说明具体的过程。 1.何为断点 所谓断点是调试器设置源程序在执行过程中自动进入中断模试的一个标记,当程序运行到断点时,程序中断执行,进入调试状态。程序运行到断点所在代码行时就会断开挂起,该行代码还没有运行,接下来进行手动调试。 2.调试过程 下面通过一个简单的java application 来说明调试的过程。该程序是一个用于...

  • JBuilder 单步调试J2ME心得

    单步调试是一种挑战,有些很隐蔽的错误,只要你认真去调试,是可以重现出来,并可以解决了。以前我调试一般都不用debug,而是3GEYE"BgvN4Ll{F打印(print)出来,这样的做法很吃力,要比拼经验,一些问题也只是猜想,很多内在的东西是想不到的,所以靠print的方法是不行3GEYE#@9^e:Q&kS"EH/~"[的。不过到了新公司,公司很是重视调试,所以也慢慢的改掉以前

  • JBuilder开发Spring实例

    1.        下载spring包,网址如下http://www.springframework.org/download.html解压后的目录中包含了dist、lib等子目录 2.        在JBuilder2005中增加spring库,选择菜单Tools-Configure-Libraries,在弹出的对话框中点击New按钮,输入spring库的名称:spring,点

  • jbuilder——D版之痛

         一直以来都是Borland的忠实粉丝,当然也只能以D版来表现我的敬畏。可是久而久之,对于JBuilder实在不敢恭维,从早期JBuilderX版本就出现的“吃代码事件”,到JBuilder2006的破解不完整所带来的烦恼,一切的一切,我都在容忍之中。虽然,很多人对我说过,算了吧,哥们,用Eclipse吧,别坚持了。但是心中总有一份不舍。甚至同事告诉我一个更BT的事件后,我也一直坚持拥护B

  • 详细介绍用JBuilder9开发的Struts实例

    本文将给大家介绍在JBuilder 9 集成开发环境下,如何运用Struts Framework来开发Web 应用程序,我们这里所说的JBuilder9是指JBuilder 9 Developer 与 Enterprise两个版本。    一、JBuilder 对于 Struts 之支持    JBuilder 提供图形使用者接口以简化组件文件 struts-config.xml 之编辑与设定,此

  • JBuilder高级开发篇.JBuilder.X.2005

    JBuilder高级开发篇.JBuilder.X.2005:

  • Jbuilder2006的JSP调试功能

    今天很高兴摸索到Jbuilder2006的JSP调试功能。很简单:1.在Jbuilder的Library里新建一Lib2.把Work目录下的网站目录包含到Lib里的Class标签里,以及Source标签里。3.调试时,用Ctrl + - 把查类的窗口打开,从Brower标签里把要调试的Jsp页面对应的Java文件打开。4.在里面设断点。调试时,Jbuilder会把Jsp页面打开

  • JavaScript电子表

       在这个例子中将用JAVASCRIPT实现一个电子表。它是动态的。窍门在于时间对象的构造和setTimeout、clearTimeout方法的调用。以下是实现动态显示电子表的程序清单,你可以将其拷贝到记事本,另存为*.html查看。在这么长的程序里,最关键的东西就是setTimeout("time()",1000),它每隔1秒(等于1000毫秒)调用一次time函数,time函数控制显示文本.

Global site tag (gtag.js) - Google Analytics