JFinal 3.0 changelog

JFinal 3.0 changelog

1:添加 JFinal Template Engine,将极速开发贯彻到 View 层

2:增强 active record 模块,添加 sql 动态生成与管理功能,三个 API 搞定 mybatis 的核心功能

3:增强 Routes,添加 addInterceptor(),可为每组 Controller 统一配置 Interceptor

4:增强 Routes,添加 setBaseViewPath(),可为每组 Controller 统一配置 baseViewPath

5:增强 render 模块,支持所有 Controller.renderXxx() 方法的定制,淘汰了原来的三个接口

6:添加 Controller.renderToString(),在控制器中利用模板引擎生成 email、短信或 HTML片段等内容,极致便捷

7:添加 QrCodeRender 以及 renderQrCode() 方法,极速生成二维码

8:添加 captcha 验证码模块,引入全面的扩展接口,提升安全性

9:添加 Cron4jPlugin,极速支持任务调度

10:添加Model.dao() 方法,解决小白误用 dao 所带来的线程安全问题

11:增强 JFinalJson 添加对 primitive 数组、Enumeration、Collection 类型支持

12:添加 MixedJsonFactory,使用 JFinalJson 转 json,使用 fastjson 做反向序列化转 object

13:添加 Controller.renderTemplate(),支持主视图为其它模板引擎时混合使用 JFinal Template Engine

14:去掉 Dialect.replaceOrderBy() 中对 orderby 的 replace操作,解决paginate方法无法支持部分复杂 order by 子句问题

15:添加 JFinal.start(String webAppDir, int port, String context)方法,更好地支持 IDEA 环境下使用集成的jetty启动项目

16:添加 Controller.getHeader(),有利于微信小程序开发

17:添加 DbKit.getConfigSet(),便于更深入的扩展开发

18:增强 ActionReporter,支持指定输出方式,添加 url 输出,以及指定参数最大输出长度

19:StrKit、HashKit 添加 slowEquals 方法用于密码验证

20:Model.getConfig() 的可见性由 private 改为 protected

21:CacheInterceptor 的 buildCacheName、buildCacheKey 改为 protected 便于扩展

22:改进 HashKit.generateSalt(),添加 generateSaltForSha256()与 generateSaltForSha512()

23:添加 Generator.setGenerateChainSetter() 方法,支持 baseModel 生成链式 setter 方法 

24:改进 TableBuilder,去掉 build() 中判断 size 为 0 的优化,便于探知据库是否连接成功

25:改进 Redis Cache.lrange(),处理 jedis 返回 null的情况

26:增强,添加Model.filter() 方法,便于实现过滤 XSS 脚本这类功能

27:增强 Ret,改为继承自 HashMap,并添加 ok() fail() 系列方法,有利于 javascript 下的 if(ret.isFail) 判断

28:添加 JMap,便于快捷链式构建大量参数

29:改进 active record 模块,支持对所有 Config 进行动态管理

30:ActiveRecordPlugin 添加 addSqlTemplate()、setBaseSqlTemplatePath() 等 sql 管理有关方法

31:Model、Db 添加 getSql()、getSqlPara()、find(SqlPara)、findFirst(SqlPara) 等方法支持 sql 管理

32:TokenManager 的 new Timer 添加 true 参数,变为 demon 线程

33:ModelGenerator 中的 generateDaoInModel 改为 false,提倡 dao对象声明在 Service 层中

34:JettyServer.changeClassLoader() 中添加 webApp.setClassLoader(jfcl),解决热加载时单例问题

35:增强 ModelRecordElResolver,IBean类型先尝试 getter 方法,getter不存在则调用get(String)方法

36:增强 CacheInterceptor、RenderInfo,便于扩展支持更多类型 Render

37:优化 StrKit.isBlank(),并添加 getRandomUUID() 方法

38:改进 I18nInterceptor,解决 switchView 情况下 getRender() 为 null 问题,添加一个实用构造方法

39:改进 TypeConverter,加强对 Timestamp 的支持范围

40:改进 ActionException,保留类型转换 404 异常的 errorMessage

41:改进 ActiveRecordPlugin,oracle 默认事务级别设置为 TRANSACTION_READ_COMMITTED

42:改进 Db、DbPro,添加 queryShort 系列方法

43:改进 JsonRender,支持 renderJson(null)

44:添加 Validator.getActionMethodName() 方法

45:XmlRender 改为使用 JFinal Template Engine 实现

46:HttpKit.post() 支持 data 值为 null 的情况

47:去掉 JFinalFilter final 修饰,便于定制扩展

48:删除 Constants.setBaseViewPath(),已被 Routes 完全取代

49:com.jfinal.token.Token.java 两个构造方法改为 public,便于扩展

50:Page 添加默认构造方法支持 fastjson 这类第三方工具的反向序列化,isLastPage() 方法的逻辑改为 pageNum >= totalPage,添加 toString()方法


评论区

xialinlin

2017-01-22 11:00

终于等到你了

cknote

2017-01-22 11:18

恭喜发布新版本

小飞象

2017-01-22 11:29

波总辛苦了

帅哥

2017-01-22 11:31

不错,666

sdfsf

2017-01-22 11:35

新版本 用起来得心应手 效果666

jelly

2017-01-22 11:36

波总威武!
3.0版本更新较大,值得体验!

山东小木

2017-01-22 11:37

这次发布之前,我已经询问过@jfinal 多次 3.0会更新哪些内容,有没有什么新奇特? @jfinal 只跟我说保密,惊喜! 3.0发布后我彻底惊喜了一回,原来之前讨论过的JFinal View层诞生了!极简,极速开发,还有比这个更吸引开发者的吗?jfinal是我创业路上的良师益友!

skipper

2017-01-22 11:38

波总棒棒哒

jiangzhen

2017-01-22 11:40

威猛的黄瓜哥

2017-01-22 11:43

学习中。。。

FLY的狐狸

2017-01-22 12:17

不错不错

江南红衣

2017-01-22 13:28

wangqian0628

2017-01-22 13:43

强烈支持

encoredw

2017-01-22 14:28

@JFinal 原来都在这里面呀,,,别的地方都没什么音。。。。

海哥

2017-01-22 14:39

JPress 近期全面切换jfinal3.0 ,祝贺jfinal3.0发布。

Run佳

2017-01-22 14:45

年假有事搞了

一起私奔吧

2017-01-22 15:57

6翻了,9999999999999999999999

小白JFinal

2017-01-22 16:37

2017年,第一个目标,掌握jFinal的核心运用!感谢

dongcb678

2017-01-22 16:39

JFinal威武

jiaxiang

2017-01-22 16:55

辛苦了,恭喜新版本发布

fengting

2017-01-22 17:04

不错不错,看来年后项目的jfinal版本要换成3.0了

shanmine

2017-01-22 17:19

@JFinal 辛苦了,新年快乐!

18286010105

2017-01-22 18:01

波总辛苦了,新年快乐!

longhorn

2017-01-22 18:26

能和spring集成吗?

永字诀

2017-01-22 19:09

祝贺!!!

热门分享

扫码入社