前言
今天, Nutz社区自豪地宣布,Nutz 1.a.27版正式发布了! 本版有很多新功能,并修复了近30个issue,拥有改进的文档
和更丰富的Demo.
- 由于更多人试图通过更多的方法定制和使用 Nutz,所以遇到了更多的问题
- 这些问题都是对 Nutz 小幅的修正和调整
- 本次发布修复了其中绝大多数问题
- 所以我们强烈推荐你更新到这个版本. 马上下载
曾有朋友建议将 Nutz 的级别调至 b (beta,因为现有的功能已经很稳定了。经过半年的不断修正,它在生产
环境中的表现无论是开发效率还是灵活性上,完全不比很多 RC 框架差,甚至更好。
但是我们还是坚持它是 alpha。
- 因为我们并不认为把一个发布包的名字由 alpha 改为 beta,它就是 beta 品质的了。
- 我们认为只有它达到了我们心中 的 beta 品质,即,我们实在不认为有调整接口的必要了,我们才会将其升级成 beta。
- 起码一段时间内,我们还会继续保留修改 Nutz 主要接口和使用方法的权利。
1.a.27 从另外一个角度来说,也是一个里程碑。从 09 年初的个人框架,到现在社区已经成为这个框架发展不可或缺的
力量。
- 新人可以很容易的加入到社区,并得到帮助
- 使用者提出的问题会得到及时的响应
- 每一个意见和建议都会得到讨论
- 被关注的问题很快可以得到修复。
因此我们可以说,从这个版开始,它已经成为一个真正的开源框架了。
概述
这个版本是在 1.a.26 基础上的重要改进
- 为 IdEntityService 和 IdNameEntityService 增加了 exists 函数,根据主键判断一条记录是否存在将更加轻松
IdNameEntityService<Pet> pets = new IdNameEntityService<Pet>(dao){};
pets.exists(34);
pets.exists("XiaoBai);
- 为 IdNameEntityService 增加了 smartFetch 函数,可以自动判断是根据 @Id 还是 @Name 来获取对象
- mvc: Uploading速度提高一倍
- ioc: 注入支持新的 Value 类型: sys
- ioc: 支持使用XML作为配置文件
- ioc: 通过配置文件添加AOP
- mvc: 通过直接声明一个包来声明包中所有的类为Module
问题修复
- 68 通过配置文件添加AOP by Chen.Bao.Yi
- 112 通过直接声明一个包来声明包中所有的类为Module by Toni.xutao
- 119 对@Id字段是否能在没有设置@Next的情况下,insert后自动把数据库中的id值回填到Entity中? by hzzdong
- 126 Dao: 执行 Trans.exec for informix 出现 Castors 错误 by jiongs753
- 127 dao: NutTransaction 的实现代码有错误,在 commit 的时候 clear list 以及 close conn by jiongs753
- 128 无法将自定义的EntityMaker注入到NutDao中 by caiceclb
- 129 Link的构造函数不方便自己实现的JPAEntityMaker by jiongs753
- 132 DAO使用proxool做数据源会出警告 by happyday0517
- 134 log: 使用Nutz的log工具在eclipse控制台打印的日志无法通过点击链接后跟踪到调用的代码行 by zozohtnt
- 135 Daos.java在jdk5编译通不过,因为其中使用了java.sql.Statement.isClosed()方法。 造成Nutz不兼容JDK5。 by jiongs753
- 136 fastInsert 支持多一个参数,是否执行 @prev by happyday0517
- 139 dao: DefaultEntityMaker代码逻辑错误 by wendal1985
- 140 DAO: 关于Entity和EntityField getset Attribute by zozohtnt
- 142 Disk.absolute(String, ClassLoader, String),当上层文件夹中包含非英文字符时,返回的path可能不正确 by wendal1985
- 143 org.nutz.ioc.impl.NutIoc无法设置MirrorFactory by wendal1985
- 144 ioc: 注入应该支持新的 Value 类型: property by zozohtnt
- 147 Nut.Aop没有提供示例 by happyday0517
- 148 Nut.Aop 当方法的返回值为基本数据类型,而拦截器的beforeInvoke返回false时,会出现NPE by wendal1985
- 149 空json配置文件启动时会报错 by wendal1985
- 150 ActionFilter中能否多增加一个方法或在现有方法上加个参数,使实现类可以获得@At所注解的方法名 by hzzdong
- 151 关于upload File时候的性能问题
- 153 当类文件在中文路径下,org.nutz.lang.util.Resources.scanClasses()无法得到任何class by wendal1985
- 154 新的代码在JDK5,mysql下测试发现一个单元测试没有通过 by hzzdong
- 157 MVC部分《请求范围模块》request 注入类型为空 by axhack
- 160 换1.a.27后找不到自定义sql by happyday0517
- 163 json: 获取属性值时,应该调用 getter by zozohtnt
- 164 json: 字段类型为
Map<String, List<String>>
会抛错 by zozohtnt
质量
- 共通过了 476 个单元测试用例,代码覆盖率达到62%(按line计算)
- Nutz.Dao 经测试在如下数据库上可以工作正常
文档
- 更新英文文档 by mutang
- 添加Nutz插件页 by wendal
- 整理 FAQ 文档
博客
主要贡献者名单
贡献的种类:
- 问题: 给项目的问题列表汇报一个上的问题,并且该问题被本次发布包括
- 博客: 在本版本开发期间,写过关于 Nutz 的文章,并被 推荐列表收录
- 支持: 总结至少出 FAQ 文档
- 代码: 提交过至少一个修订
- Demo: 为 Demo Site 提交过代码
- 文档: 提交过文档,在讨论区发帖或者通过文档上的留言指出现有文档存在的问题
- 测试: 发布前,参与测试周,发布人给出的任务
如有遗漏,请提醒我们 ^_^
http://docs.google.com/View?id=dc5jpf24_160gshjh436
贡献者
|
问题
|
博客
|
支持
|
代码
|
Demo
|
文档
|
测试
|
amosleaf
|
O
|
-
|
-
|
O
|
-
|
-
|
-
|
axhack
|
O
|
-
|
-
|
-
|
-
|
-
|
-
|
BirdWyatt
|
-
|
-
|
-
|
O
|
-
|
-
|
-
|
caiceclb
|
O
|
-
|
-
|
-
|
-
|
-
|
-
|
Chen.Bao.Yi
|
O
|
-
|
-
|
-
|
-
|
-
|
-
|
deadeye2k
|
O
|
-
|
-
|
-
|
-
|
-
|
-
|
E-Hunter
|
O
|
-
|
O
|
-
|
-
|
-
|
-
|
hzzdong
|
O
|
-
|
-
|
-
|
-
|
-
|
-
|
happyday0517
|
O
|
-
|
-
|
-
|
-
|
-
|
-
|
mastung
|
-
|
-
|
-
|
-
|
-
|
O
|
-
|
ming300
|
-
|
-
|
-
|
O
|
-
|
-
|
-
|
jiongs753(天行健)
|
O
|
-
|
-
|
-
|
-
|
-
|
-
|
Toni.xutao
|
O
|
-
|
-
|
-
|
-
|
-
|
-
|
wendal
|
O
|
-
|
O
|
O
|
O
|
O
|
O
|
zozoh
|
O
|
-
|
O
|
O
|
-
|
O
|
O
|
另外,非常感谢
的朋友们,你们提出的任何问题,发表的任何言论,实际上都对这个小框架 产生着潜移默化的影响。
我们也正在不断的努力,希望每一个新版本都能让大家获得更好的编程体验。