| 类 | 说明 |
|---|---|
| ElKit |
EL 表达式语言求值工具类
1:不带参示例
Integer value = ElKit.eval("1 + 2 * 3");
2:带参示例
Kv data = Kv.by("a", 2).set("b", 3);
Integer value = ElKit.eval("1 + a * b", data);
|
| ElKit.InnerEvalDirective | |
| HashKit | |
| JavaKeyword |
JavaKeyword.
|
| Kv |
Kv (Key Value)
Example:
Kv para = Kv.by("id", 123);
User user = user.findFirst(getSqlPara("find", para));
|
| LogKit |
LogKit.
|
| PathKit |
new File("..
|
| ReflectKit |
反射工具类
|
| Ret |
Ret 用于返回值封装,也用于服务端与客户端的 json 数据通信
一、主要应用场景:
1:业务层需要返回多个返回值,例如要返回业务状态以及数据
2:renderJson(ret) 响应 json 数据给客户端
二、两种工作模式:
1:默认情况下即为新工作模式,当调用 ok()、fail()、setOk()、setFail() 方法之后
Ret 生成的 json 数据的状态属性为:state:ok 以及 state:fail
2:通过调用 Ret.setToOldWorkMode() 可以切换到旧工作模式,与新工作模式的不同在于
Ret 生成的 json 数据的状态属性为:isOk:true/false 以及 isFail:true/false
3:旧工作模式为了兼容 JFinal 3.2 之前的版本而保留,强烈建议使用新工作模式
新工作模式非常有利于使用 json 数据格式的 API 类型项目
三、实例
1:服务端
Ret ret = service.justDoIt(paras);
renderJson(ret);
2:javascript 客户端 ajax 回调函数通常这么用:
success: function(ret) {
if(ret.state == "ok") {
...
}
if (ret.state == "fail") {
...
}
}
3:普通应用程序通常这么用:
String json = HttpKit.readData(getRequest());
Ret ret = FastJson.getJson().parse(json, Ret.class);
if (ret.isOk()) {
...
}
if (ret.isFail()) {
...
}
|
| StrKit |
StrKit.
|
| SyncWriteMap<K,V> |
SyncWriteMap 同步写 HashMap
创建原因是 HashMap扩容时,遇到并发修改可能造成 100% CPU 占用
SyncWriteMap 拥有 HashMap 的性能,但不保障并发访问的线程安全
只用于读多写少且不用保障线程安全的场景
例如 MethodKit 中用于缓存 MethodInfo 的 cache,被写入的数据
不用保障是单例,读取之后会做 null 值判断
ActionMapping 中的 HashMap 是系统启动时在独立线程内初始化的,
不存在并发写,只存在并发读的情况,所以仍然可以使用 HashMap
|
Copyright © 2022. All rights reserved.