2019-01-15 11:34

写个 main 方法用纯 JDBC 连一下试一试,或者用单步调试,看程序是在哪行代码卡住的

2019-01-15 11:31

model 内部有几个简单的带 cache 的查询方法,可以用一用

加二级缓存会让复杂度提升很多,jfinal 对此很谨慎

还有一个重要原因是,jfinal 在理念上并不认同在 model 层或者叫 dao 层使用二级缓存,jfinal 缓存的应用原则有:
1:缓存尽可能在上层去做,例如在 controller 层之前使用拦截器
2:缓存尽可能对开发是透明的,例如拦截器自动化搞定,不需要人为干预

第一个原则可以最大程序提高性能,因为越是往上层离客户端越近,缓存的粒度越大。
第二个原则减少耦合,有利于可读性和可维护性

2019-01-15 11:26

JBolt 让开发更快速,进一步节省用户时间,值得拥有,赞

2019-01-15 11:25

just do it

2019-01-15 11:24

Caused by: java.lang.OutOfMemoryError: Java heap space

JVM 分配的内存被占满了, 找到那个耗内存的代码,改之即可

2019-01-14 22:43

@vimer 映射是一一对应的,不能动态变动,否则会有线程安全问题,但是可以实现你的需求

先是选择一个最常用的实现类来进行映射,然后在需要打破映射的地方使用下面的两种方式:
1:在 @Inject 中指定实现类
@Inject(AaaBbbImpl.class)
Aaa aaa;

2:让承载类型为实现类
@Inject
AaaBbbImpl

2019-01-14 21:53

@mr_wangyan 没用过 lombok,不知道里头的细节

在 jfinal 之下, model 可以用生成器自动化生成 getter、setter, 所以不建议用 lombok

2019-01-14 18:04

空指针是最容易解决的了,也没有什么好技巧,就是单步调试找到那个为 null 的对象,然后不要让它成为 null 即可

2019-01-14 18:03

目前最简洁且是唯一用 enjoy 实现的人性化时间输出指令了,必须点赞 + 收藏

2019-01-14 11:55

@caicai jfinal undertow 让开发、部署更加流畅,进一步节省时间,提升开发体验,值得拥有

2019-01-14 11:43

加行配置:
undertow.hotSwapClassPrefix=cn.dreampie.

文档中有:
https://www.jfinal.com/doc/1-5

2019-01-14 11:12

@小白菜的天下1 这个问题相当奇怪,我也是头一次听说,建议通过单步调试找到哪里慢了, 定位以后彻底解决才好

2019-01-14 11:11

@hlevel jfinal-3.5 的依赖最好加一下,后续的 jfinal undertow 1.5 将会去掉 jfinal 的 compile依赖,是需要自己添加的

2019-01-13 23:09

@zhangshiqiang enjoy 里头其实还有非常多的功能,在文档中是没有的,探索出来一些新玩法别忘了来分享

2019-01-13 22:56

这应该是最简单的整合分享了,比 jfinal 官方给的还简单,收藏 + 点赞

此外,resolver.setSourceFactory(new ClassPathSourceFactory())
改成
resolver.setToClassPathSourceFactory();
还可再省点代码