至今最好的nutz版本
历时半年的大量的改进及bug fix ^_^
官方发行注记地址 http://nutzam.com/core/nutz_release_notes.html
变更统计
417 files changed, 5275 insertions(+), 14550 deletions(-)
兼容性
Json输出的属性顺序,现在按原生顺序输出了
@Ok("json")的默认Content-Type变成application/json了
若MainModule设置了@At,但子模块没有设置@At,现在会继承MainModule的@At设置, 可以通过@At(top=true)回避
新功能
重新实现的NutSql,支持多个Cnd条件, Cnd条件参数化, 带数据库特定注释的Sql #887
@Ok("re:jsp:/index") return ">>:/user/login" 根据返回值来进行视图选择,同时新增ViewModel类用于传递值 #925
Aop的ClassLoader机制改造, 使用cglib形式的解决方案, 从而解决不同ClassDefine之间的访问问题
Daos类新增自动修改表结构的migration方法 #886
dao.insert/update 现在支持更复杂的过滤条件, 其中insert现在支持强制插入自增主键
DaoUp类用于解决非Web环境下创建NutDao的问题,其DaoUpTest是Dao操作的快速入门说明
EL表达式新增内置方法uuid(32) uuid(16) urlencode base64
动作链的js配置支持可选处理器, 发现shiro插件时能自动加载
NutDao进行缓存插件兼容性改造,完全兼容daocache插件了
Web环境下用于提前初始化Ioc容器的NutMvcListener
IocLoader可以为一个Ioc Bean了, NutIoc会自动发现并加载他们
Ioc的Js配置文件中, 支持数组形式的变量拼接了
MethodInvokeProcessor默认启用改进过的FastClass调用, Eclipse热代码修改不再有warning
Pojo对象生成现在通过FastClass了
支持Pgsql的Json类型
使用Youkit改进了性能
快照版已经自动发布了
新增@Ok("jsonp"), 默认使用请求参数中的callback作为回调方法名
问题修复
Issue 941 文档加个Test章节或者独立个Test库出来 by wendal
Issue 936 应用事务拦截器之后,抛出的异常的类型变了 by wendal
Issue 925 新增一个根据返回值决定最终视图的View by wendal
Issue 918 关于注解@View 和@@Readonly的问题 by ohohco
Issue 917 dao.drop方法,如果pojo有@VIew但不存在,会出现删除table失败 by wendal
Issue 916 FastUploading处理超长文本时会截断输出 by wendal
Issue 907 指定json视图返回的content type 为application/json by TuWei1992
Issue 897 多文件Form上传,配置了忽略空文件的情况下,引发的异常 by albinhdk
Issue 894 http.post方法指定发送内容编码为gbk,并未生效的问题 by zhanghuanle
Issue 891 mvc传参必须@Param? by csg0328
Issue 889 当@One的hostField是@Id时, dao.insertWith插入关联字段的值总是0 by wendal
Issue 888 EntityService类 update 返回void by javanan
Issue 887 oracle自定义sql,按索引查询,被当做注释过滤掉了。 by txc1234
Issue 886 根据Pojo定义自动增减数据库字段 by wendal
Issue 885 自定义sql设置数组参数的问题 by JaynLeaew
Issue 884 Chain.from方法会包含非数据库字段 by wendal
Issue 883 >>重定向不支持中文 by enzozhong
Issue 881 dao.create为Sqlserver 2005建表时Blob类型错误 by wendal
Issue 879 未正确处理toJson中NaN的值 by wendal
Issue 878 DaoUp -- 非Mvc,Ioc环境下的使用Dao的工厂类 by wendal
Issue 877 EL表达式的UUID支持UU32和UU64, 及添加Base64 by wendal
Issue 875 重写Json的文档 by wendal
Issue 873 两个连用的$.post中会解析不到数据,时好时坏,请问各位怎么解决? by 516388532
Issue 865 org.nutz.lang.Files.createDirIfNoExists(String path)无访问权限时最好能提示 by cr3at
Issue 860 module中的url映射需求! by ohohco
Issue 855 为QuartzIocLoader在ComboIocLoader添加缩写 by wendal
Issue 854 在动作链中添加shiro插件探测及加载 by wendal
Issue 849 改造fetchLinks实现,使其支持缓存扩展 by wendal
Issue 848 关于添加只构造一次Ioc容器的IocProvider的建议 by JaynLeaew
Issue 844 讨论一下Dao的缓存实现 by wendal
Issue 843 使用 jquery form plugin 进行ajax表单提交 表单中存在input type="file" 元素 by hzl7652
Issue 841 Oracle 插入Blob对象失败 by wendal
Issue 840 Json.toJson(JsonFormat.full()) 会死循环 by wendal
Issue 837 NutMvc初始化失败时,若ioc容器已经生成,应触发depose事件 by wendal
Issue 829 如果一个Bean实现了IocLoader接口,那自动加入Ioc的加载器列表 by wendal
Issue 828 支持更多Http方法 by xbl
Issue 825 缓存的相关文档在哪里 by zhangsm
Issue 820 Scans.scan重复加载资源问题 by talentyao
Issue 816 name=xxxx,xxx,xxx这个输入框里面输入含逗号的信息,nutz自动解析为多个字符串数组 by cuker919
Issue 815 Http类对https的处理 by Rekoe
Issue 805 Daos.exts 方法批量更新错误 by Rekoe
Issue 803 @Column 创建字段类型解析错误 by Rekoe
Issue 799 一对多的映射失败 by majong
Issue 767 nutz有没有像ibatis这样的功能,按照参数组装sql by programmer-monkey
Issue 755 build.bat的一点小建议 by gisphm
Issue 662 Images.zoomScale 图片缩放,透明背景的png文件自动添加了背景色 by Wizzercn
Issue 613 sqls执行查询结果集为空 by 373492364
Issue 602 Cnd.wrap构造sql语句有问题 by lplion
Issue 563 能否整个在线的javadoc by asterisk622
Issue 493 Ioc的.js配置文件的Java调用问题:当java方法参数中出现负数时,启动应用异常 by conanca
Issue 467 Cnd.where(e2).andNot(e3);不对 by zhuer0632
Issue 442 sql文件中强制索引被当成普通注释解析 by realcbb
Issue 408 希望手册的json部分采用zdoc的方式发布 by ywjno
Issue 335 IOC注入格式可否支持 env:'环境变量名'/mypath/test ? by codering
Issue 284 filter过滤器 by jicu7766240
Issue 282 从文件池中获取/删除一个文件,为什么要我指定后缀名呢 by conanca
Issue 221 org.nutz.img.Images建议加个起始起始坐标点与结束坐标点 by csg0328
Issue 137 关于@Filters的使用方法 by Rekoe
Issue 66 1.39中dao.insert()方法,没有忽略null字段 by happyday517
下载
github https://github.com/nutzam/nutz/releases
oschina http://git.oschina.net/wendal/nutz/attach_files
1.b.53 发行注记
又到金秋,距离上一个版 1.b.52 也颇有段时间了。 在 wendal 的催促下(事实上他白天晚上的在Q...Q上催了我两个多月)终于熬到了这一天。
实际上,作为 Nutz 项目发起人的我,这两年的精力很多不在 Nutz 上,我逐渐的退化成 Nutz 的重重重度用户了。 现在 Nutz 项目实际推动的人是 wendal。 记得那一年(2009年),也是一个秋天,我发布了 Nutz 第15版, 也是那个秋天,我遇到了wendal, 那时他还年起,我也不老 ... 然后我们 ... 厄,就一版一版的发布到现在咯。
实际上没有神奇的 wendal,这个小项目是不会走到今天的。而这些年来,我发现对于 Nutz, 我和 wendal 的 交流并不很多,形式主要就是在 Issue 的回复,代码的提交,和我一直坚持写的这份发行注记上。 但是效果却出奇的好,基本上印证了我很早以前的一个观点:“最好的沟通,就是不沟通”
可能有好奇的朋友会问:你精力不在 Nutz 上,在哪里呀? 我只能说,请关注我最近开通的微信公众号(rain_on_sand 雨打沙滩点点坑)吧,过段日子你会知道的,嘿嘿。 当然,肯定也和 Nutz 有关啦。
这可能是我最后一次写 Nutz 的发行注记了,以后希望 wendal 来接替这份工作。下一个版的 Nutz 开发工作将完全由 wendal 来主导(实际上之前的很多版本也都是他在主导)。我则希望自己花更多的精力在 Nutz 的推广方面。
那么既然是最后一次写发行注记,我就多说点心里话:
Nutz 的用户虽然不多,估计也就万人左右,深度用户估计也不过千人吧。 但是 Nutz 却实实在在的是大家智慧的结晶。 将近6年的时间,大家用一个个的补丁和bug,让这个小类库变得越来越卓岳不群。 以前有几个朋友总对我说:“Nutz真的很不错,就差点包装了。” 我总是笑而不答,心说:“还不够好,包装个毛?” 现在,作为它多年的用户,我可以负责任的说,这个类库真的很棒,是时候让更多的人知道它了。 我想,作为 Nutz 这个小项目的发起人#0,让更多的人享用到大家智慧的结晶,是我义不容辞的责任。
不出意外的话,这个版应该是最后一个 b 版本,下一个版将升级成 r,即,下一个版本将是 1.r.54
另外澄清一下,免得不时总有朋友问:现在市面上的,无论是果壳网,坚果云,还是锤子科技刚出的坚果手机, 他们统统和 Nutz 没有半毛钱关系。我们是一个自由的,松散的,独立的,写代码完全看心情的开源团体,谢谢。
---------------- 上面是 zozoh 说点啥的分割线----------------
---------------- 下面是 wendal 说点啥的分割线----------------
擦,貌似我也不老吧...
这半年,首先必须提一下Nutzbook, 引导式Nutz入门指南 及衍生的项目https://github.com/wendal/nutz-book-project, 据说已经是入门nutz的神器哦
然后呢, 首先感谢一下面, 他实现了一个daocache, 且该插件已经在生产上运行良好,然后逼着我完成了"官方版"daocache
然后还有科技的Rk_Cms, ,大鲨鱼的NutzWk, ,wukong的零售CRM ,elkan1788的微信平台 , 都是非常有爱的项目, 及Q..Q群里各种基情四射的项目和意见(或福利^_^)
另外, sqltpl的灵感来自littleant的高仿ibatis(mybatis)实现sql的集中管理. 在此之前我一直觉得解析mybatis那种XML简直是噩梦.
红烧鲨鱼面
-- 上面提及的几位,只有"大鲨鱼"和"面"是食材, 然后我前天在海鲜市场看到了活的小鲨鱼,而且最近半年我以面食为主,所以你懂了.
---------------- Nutz 的相关资源的分隔线 ------------------
下载地址 : http://downloads.nutzam.com/
Nutz 的官网 : http://nutzam.com
Github 地址 : https://github.com/nutzam/nutz
Nutzmore地址: https://github.com/nutzam/nutzmore
Nutzbook: http://nutzbook.wendal.net
Git@OSC镜像 https://git.oschina.net/wendal/nutz