codecamp

1.a.26

概述

这个版本是在 1.a.25 基础上修复了一些 BUG,并让 Dao 支持 ActiveRecord

问题修复

  • Issue 95 : Ioc - 没有检测循环依赖,且不支持多次继承
  • Issue 97: 从 Dao 里查出来的对象是一个 Map,或者是List<Map<String, Object>> by Gdunser
  • Issue 100: MVC手册在jsp视图处描述有误 by ToFishes
  • Issue 101: Dumps.matcher NullpointerException by for5million
  • Issue 102: 在update时,如果http参数有Date类型为null,会出错 by Gdunser
  • Issue 103: 移除JsonIocLoader中对$import,$vars的支持 by Wendal
  • Issue 104: 当server启动后,死一次访问界面无法显示国际化的message by Bird.Wyatt
  • Issue 106: 在 NutIoc 中缓存 IocObject by Wendal
  • Issue 108: 添加Maven支持文件-- pom.xml by Wendal
  • Issue 109: 继承Module类,如果是@OK("json"),会出错 by Gdunser
  • Issue 111: IoC配置能扫描Package内的Class的注解直接获取到 by nwangwei
  • Issue 114: context.js的正確格式是? by wsc0918
  • Issue 115: JSON格式不标准 by deadeye2k
  • Issue 120: dao: @Next 和 @Prev 变量 $view.NEXTVAL 解析失败 by hzzdong

质量

  1. 共通过了 414 个单元测试用例
  2. Nutz.Dao 经测试在如下数据库上可以工作正常
    • H2
    • MySql
    • Oracle
    • Postgresql
    • SqlServer2005
    • SqlServer2000

改进

  1. 小幅修正了一些 Bug 和文档错误
  2. Dao : 提供了新的接口函数: List<Record> query(String tableName, Condition condition, Pager pager)
  3. Ioc : 引入 IocObject 的缓存,提升了非 Singleton 对象构建速度

改进

  1. 小幅修正了一些 Bug 和文档错误
  • Issue 103: 移除JsonIocLoader中对$import,$vars的支持 by Wendal
  • Issue 106: Ioc: 在 NutIoc 中缓存 IocObject by Wendal

文档

  1. 修改了 Mvc 视图部分
  2. 增加了 同 Ioc 容器一起工作.需要注意的问题

博客

主要贡献者名单

贡献者问题博客讨论代码Demo文档测试
amosleafXX----X
bird.wyattXXX-X--
deadeye2kX------
E-HunterX------
for5millionX------
mastung-----X-
mawm-X-X---
rocy03X------
SegaX------
ToFishesX------
yangchunhai2005--X----
wendalXXXX--X
zozohXXXX-XX
会跑的蜗牛X------
知足常乐X-----X

另外,非常感谢 Nutz QQ 群(75818186) 以及 Nutzam 讨论区 的朋友们,你们提出的任何问题,发表的任何言论,实际上都对这个小框架 产生着潜移默化的影响。 我们也正在不断的努力,希望每一个新版本都能让大家获得更好的编程体验。

另,由于众所周知的原因,建议大家通过别的服务访问讨论区 因为非中文版的 Google Group 是没有被 QIAng 的。

1.a.27 发行注记
1.a.25 及 更早版本
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

表达式引擎

maplist结构

图像处理小军刀

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }