1.a.27 发行注记
Jul 10, 2017 10:38:44 AM
前言
今天, 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通过配置文件添加AOPbyChen.Bao.Yi
- 112通过直接声明一个包来声明包中所有的类为ModulebyToni.xutao
- 119对@Id字段是否能在没有设置@Next的情况下,insert后自动把数据库中的id值回填到Entity中?byhzzdong
- 126Dao: 执行 Trans.exec for informix 出现 Castors 错误byjiongs753
- 127dao: NutTransaction 的实现代码有错误,在 commit 的时候 clear list 以及 close connbyjiongs753
- 128无法将自定义的EntityMaker注入到NutDao中bycaiceclb
- 129Link的构造函数不方便自己实现的JPAEntityMakerbyjiongs753
- 132DAO使用proxool做数据源会出警告byhappyday0517
- 134log: 使用Nutz的log工具在eclipse控制台打印的日志无法通过点击链接后跟踪到调用的代码行byzozohtnt
- 135Daos.java在jdk5编译通不过,因为其中使用了java.sql.Statement.isClosed()方法。 造成Nutz不兼容JDK5。byjiongs753
- 136fastInsert 支持多一个参数,是否执行 @prev byhappyday0517
- 139dao: DefaultEntityMaker代码逻辑错误bywendal1985
- 140DAO: 关于Entity和EntityField getset Attributebyzozohtnt
- 142Disk.absolute(String, ClassLoader, String),当上层文件夹中包含非英文字符时,返回的path可能不正确bywendal1985
- 143org.nutz.ioc.impl.NutIoc无法设置MirrorFactorybywendal1985
- 144ioc: 注入应该支持新的 Value 类型: propertybyzozohtnt
- 147Nut.Aop没有提供示例byhappyday0517
- 148Nut.Aop 当方法的返回值为基本数据类型,而拦截器的beforeInvoke返回false时,会出现NPEbywendal1985
- 149空json配置文件启动时会报错bywendal1985
- 150ActionFilter中能否多增加一个方法或在现有方法上加个参数,使实现类可以获得@At所注解的方法名byhzzdong
- 151关于upload File时候的性能问题
- 153当类文件在中文路径下,org.nutz.lang.util.Resources.scanClasses()无法得到任何class bywendal1985
- 154新的代码在JDK5,mysql下测试发现一个单元测试没有通过 byhzzdong
- 157 MVC部分《请求范围模块》request 注入类型为空 byaxhack
- 160 换1.a.27后找不到自定义sql byhappyday0517
- 163 json: 获取属性值时,应该调用 getter byzozohtnt
- 164 json: 字段类型为
Map<String, List<String>>
会抛错 byzozohtnt
质量
- 共通过了 476 个单元测试用例,代码覆盖率达到62%(按line计算)
- Nutz.Dao 经测试在如下数据库上可以工作正常
文档
- 更新英文文档 bymutang
- 添加Nutz插件页 bywendal
- 整理 FAQ 文档
博客
主要贡献者名单
贡献的种类:
- 问题: 给项目的问题列表汇报一个上的问题,并且该问题被本次发布包括
- 博客: 在本版本开发期间,写过关于 Nutz 的文章,并被 推荐列表收录
- 支持: 总结至少出 FAQ 文档
- 关于 FAQ 文档的写作规范请先阅读: Nutz 的虎年计划.5提供更好的社区支持
- 代码: 提交过至少一个修订
- 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 |
另外,非常感谢
- Nutzam 讨论区
- Nutz QQ 群(75818186)
- Nutz QQ 2群(68315571)
- GTalk 聊天群 添加帐号 nutzam@chatterous.com 为好友,然后发送 @join 指令
的朋友们,你们提出的任何问题,发表的任何言论,实际上都对这个小框架 产生着潜移默化的影响。我们也正在不断的努力,希望每一个新版本都能让大家获得更好的编程体验。
本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用。