2019-02-15 21:27
@bestkas 你说的很有道理,所以 jfinal 从第一天起就坚持极简设计,让学习成本降到极致,以至于我招的实习生只花半天时间就可以上手 jfinal 开发项目
因此,你说的这个问题自然得到化解。
反倒是 spring 这类主流框架还在不断变复杂,学习成本还在不断上升。经过使用后对比就能体会到完全掌控 jfinal 十分容易(总共两万多行代码),而 spring 根本无法掌控哪怕一小部分(几十上百万行代码)
2019-02-15 21:22
@刀歌 json 转 model 可以用 jfinal 的生成器先为其生成 base model,里头会有setter 方法,然后直接使用任何第三方 json 工具就可以转换了,例如:
User user = FastJson.getJson().parse(jsonString, User.class);
生成器的用法在 jfinal 官网首页的 jfinal demo form maven 中就有,下载后改点配置就可以使用了
2019-02-15 21:19
@javagoboy 前面说的“否定”是指:当一个 task 的调度调用执行时间很长,直到下次调度它的时机到来时该 task 还没执行完成,那么本次调度将跳过,并不会重新建立新的 task 进行调度
测试的时候在 task 中弄个 static 变量很容易测试
2019-02-15 20:54
@张红军 在 controller 中也可以直接使用 renderToString(...) ,十分方便
2019-02-15 18:32
@2834511088 如果多个项目依赖于同一个项目的不同版本,也可能出现多个 jar 包冲突的情况,注意在 pom.xml 中用 exclusion 标记排除掉
在 eclipse 中打开 pom.xml ,并打开底部的 Dependency Hierarchy 视图可以看到这类依赖
打出 war 包后,看 WEB-INF/lib 下面的 jar 包也可以找到这类重复 jar 包
2019-02-15 18:25
@王子鹏 补充上面:首先你做一个 BaseModel 继承 Model,然后在 BaseModel 中覆盖 save() 方法完成功能
最后自己所有的 Model 由继承 Model 改成继承 BaseModel。 改生成器模板是最方便的
2019-02-15 18:24
@王子鹏 将 jfinal 模板文件 copy 出来,然后直接改模板,最后配置使用自己的模板:
generator.setBaseModelTemplate("my-base-model-template.jf");
generator.generate();
在上述的 "my-base-model-template.jf" 模板文件中,将 Model 改成你自己弄的一个 BaseModel 即可,一次性搞定所有,十分方便
2019-02-15 18:19
@2834511088 你当前使用的 jfinal 已经很高了,强烈建议升级到最新版本
此外,要注意问你们公司的人是不是对 jfinal 的源码进行过修改:jfinal-java8-3.3-20171121.152419-1.jar 这个 jar 包看上去是你们改过的源码
如果你们自己改过源码,就不能简单升级,甚至不能使用 jfinal 官方版本
2019-02-15 18:08
@2834511088 直接使用 jfinal-3.6 ,你的版本已然是 3.3, 升到 3.6 很平滑,多数不需要改代码,这里有详细的升级文档:
https://www.jfinal.com/doc/14-1