Java極速Web框架 JFinal 1.0.7 正式發布

openkk 12年前發布 | 22K 次閱讀 Java web

JFinal 是基于Java 語言的極速 web 開發框架,其核心設計目標是開發迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展、Restful。在擁有Java語言所有優勢的同時再擁有ruby、python等動態語言的開發效率!

JFinal有如下主要特點:

  • MVC架構,設計精巧,使用方便簡單
  • 遵循COC原則,零配置,無xml
  • ActiveRecord支持,使數據庫開發極致快速方便
  • 自動加載修改后的java文件,開發過程中無需重啟web server
  • AOP支持,攔截器配置靈活,使用簡單
  • Plugin體系結構,擴展方便
  • 多視圖支持,支持FreeMarker、JSP、Velocity
  • 強大的Validator后端校驗功能
  • 功能齊全,擁有struts2的絕大部分功能
  • 體積小僅180K,且無第三方依賴

JFinal 1.0.7 添加了 OracleDialect、AnsiSqlDialect多數據庫支持,重新設計了EhCachePlugin。另外對系統進行了諸多優化,添加了一些小的實用功能,去掉了一些多余的功能,具體變化如下:

 

1:添加OracleDialect支持Oracle數據庫,添加 AsniDialect支持遵守 ANSI Sql標準的庫,分頁暫未實現。
2:EhCache 全新設計,去掉了 EhCacheConfig,相關類名去除了前面兩個字母"Eh", 如  CacheKit。
3: I18N 添加了 me()方法,可以setAttr("i18n", I18N.me())并在view中使用該對象
4: Controller添加如下方法:renderJson(String[] attrs),renderText(String text, String contentType)。
5: JFinal.java 中增加 getAction() 方法
6: com.jfinal.render.CPI添加 setVelocityProperties 方法
7:com.jfinal.plugin.ehcache.DataLoader 重構為IDataLoader。com.jfinal.plugin.activerecord.Atom 重構為 IAtom。com.jfinal.plugin.activerecord.Callback 重構為 ICallback。
8: Controller.getParaToBoolean 添加對 0 與   1 的邏輯支持。 0: false  1: true
9: Db.queryInt 去掉了將 Long 自動轉成 Integer。注意 select count(*) 返回 Long型結果,需要Db.queryLong("select cont(*)...")
10: AciveRecord transaction 重構至 tx 包下
11: cp3p0 jar 包升級到 0.9.1.2 版,mysql connector jar包升級至 5.1.20 版。
12:ActiveRecord 增加 cache 支持,如 Blog.dao.find(cacheName, key, sql, prams), Db.find(cacheName, key, sql, params);
13: Db 中刪除全部 insert 方法以及部分 delete 方法。由于沒有了insert方法,若想在插件記錄后立即得到id值,請用 Db.save(String,Record), 在 record保存后可以 record.get("id")來獲取
14: Db 加入 queryNumber 方法, 可以方便地返回 Number以后再轉成 long更好支持程序通用性, 如: queryNumber(...).longValue();
15: Db 加入 batch 批量處理方法
16: Model Record 中添加了 getNumber 方法,增強通用性,如 long cash = User.dao.findById(88).getNumber("cash").longValue();
17: ActiveRecordPlugin 添加了show sql 功能,只需  new ActiveRecordPlugin(..).setShowSql(true) 即可;
18: com.jfinal.render.CPI 中添加了對 VelocityRender 的配置CPI.setVelocityProperties(Properties properties)
19: 添加C3p0Plugin.setDriverClass(String)方法。
20: 添加Constants.setMainRenderFactory(IMainRenderFacotry mf),以便在 Controller.render(String) 支持自定義 Render 類,使用方法如下:

    1:先創建自定義Render如 YourRender。

    2:再創建YourMainRenderFacotry 實現 IMainRenderFactory接口,getRender方法中返回 YourRender對象

    3: 在JFinalFilter.constant中設置 me.setMainRenderFactory(...)

    4: 在Controller 中就可以這樣使用 YourRender了 render(String)

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!