Java极速Web框架 JFinal 1.0.7 正式发布

openkk 12年前
   <p><a href="/misc/goto?guid=4958343373553903133" target="_blank">JFinal </a>是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率!</p>    <h2>JFinal有如下主要特点:</h2>    <ul>     <li>MVC架构,设计精巧,使用方便简单 </li>     <li>遵循COC原则,零配置,无xml </li>     <li>ActiveRecord支持,使数据库开发极致快速方便 </li>     <li>自动加载修改后的java文件,开发过程中无需重启web server </li>     <li>AOP支持,拦截器配置灵活,使用简单 </li>     <li>Plugin体系结构,扩展方便 </li>     <li>多视图支持,支持FreeMarker、JSP、Velocity </li>     <li>强大的Validator后端校验功能 </li>     <li>功能齐全,拥有struts2的绝大部分功能 </li>     <li>体积小仅180K,且无第三方依赖</li>    </ul>    <p style="font-weight:bold;">JFinal 1.0.7 添加了 OracleDialect、AnsiSqlDialect多数据库支持,重新设计了EhCachePlugin。另外对系统进行了诸多优化,添加了一些小的实用功能,去掉了一些多余的功能,具体变化如下:</p>    <p> </p>    <p>1:添加OracleDialect支持Oracle数据库,添加 AsniDialect支持遵守 ANSI Sql标准的库,分页暂未实现。<br /> 2:EhCache 全新设计,去掉了 EhCacheConfig,相关类名去除了前面两个字母"Eh", 如  CacheKit。<br /> 3: I18N 添加了 me()方法,可以setAttr("i18n", I18N.me())并在view中使用该对象<br /> 4: Controller添加如下方法:renderJson(String[] attrs),renderText(String text, String contentType)。<br /> 5: JFinal.java 中增加 getAction() 方法<br /> 6: com.jfinal.render.CPI添加 setVelocityProperties 方法<br /> 7:com.jfinal.plugin.ehcache.DataLoader 重构为IDataLoader。com.jfinal.plugin.activerecord.Atom 重构为 IAtom。com.jfinal.plugin.activerecord.Callback 重构为 ICallback。<br /> 8: Controller.getParaToBoolean 添加对 0 与   1 的逻辑支持。 0: false  1: true<br /> 9: Db.queryInt 去掉了将 Long 自动转成 Integer。注意 select count(*) 返回 Long型结果,需要Db.queryLong("select cont(*)...")<br /> 10: AciveRecord transaction 重构至 tx 包下<br /> 11: cp3p0 jar 包升级到 0.9.1.2 版,mysql connector jar包升级至 5.1.20 版。<br /> 12:ActiveRecord 增加 cache 支持,如 Blog.dao.find(cacheName, key, sql, prams), Db.find(cacheName, key, sql, params);<br /> 13: Db 中删除全部 insert 方法以及部分 delete 方法。由于没有了insert方法,若想在插件记录后立即得到id值,请用 Db.save(String,Record), 在 record保存后可以 record.get("id")来获取<br /> 14: Db 加入 queryNumber 方法, 可以方便地返回 Number以后再转成 long更好支持程序通用性, 如: queryNumber(...).longValue();<br /> 15: Db 加入 batch 批量处理方法<br /> 16: Model Record 中添加了 getNumber 方法,增强通用性,如 long cash = User.dao.findById(88).getNumber("cash").longValue();<br /> 17: ActiveRecordPlugin 添加了show sql 功能,只需  new ActiveRecordPlugin(..).setShowSql(true) 即可;<br /> 18: com.jfinal.render.CPI 中添加了对 VelocityRender 的配置CPI.setVelocityProperties(Properties properties)<br /> 19: 添加C3p0Plugin.setDriverClass(String)方法。<br /> 20: 添加Constants.setMainRenderFactory(IMainRenderFacotry mf),以便在 Controller.render(String) 支持自定义 Render 类,使用方法如下:</p>    <p>    1:先创建自定义Render如 YourRender。</p>    <p>    2:再创建YourMainRenderFacotry 实现 IMainRenderFactory接口,getRender方法中返回 YourRender对象</p>    <p>    3: 在JFinalFilter.constant中设置 me.setMainRenderFactory(...)</p>    <p>    4: 在Controller 中就可以这样使用 YourRender了 render(String)</p>