| 类和说明 |
|---|
| Prop
Prop.
|
| 类和说明 |
|---|
| Kv
Kv (Key Value)
Example:
Kv para = Kv.of("id", 123);
User user = user.findFirst(getSqlPara("find", para));
|
| 类和说明 |
|---|
| Func.F21
2 参 1 返回函数
|
| 类和说明 |
|---|
| Kv
Kv (Key Value)
Example:
Kv para = Kv.of("id", 123);
User user = user.findFirst(getSqlPara("find", para));
|
| 类和说明 |
|---|
| SyncWriteMap
SyncWriteMap 同步写 HashMap
创建原因是 HashMap扩容时,遇到并发修改可能造成 100% CPU 占用
SyncWriteMap 拥有 HashMap 的性能,但不保障并发访问的线程安全
只用于读多写少且不用保障线程安全的场景
例如 MethodKit 中用于缓存 MethodInfo 的 cache,被写入的数据
不用保障是单例,读取之后会做 null 值判断
ActionMapping 中的 HashMap 是系统启动时在独立线程内初始化的,
不存在并发写,只存在并发读的情况,所以仍然可以使用 HashMap
|
| 类和说明 |
|---|
| Func.F11
1 参 1 返回函数
|
| Func.F21
2 参 1 返回函数
|
| Func.F30
3 参 0 返回函数
|
| JavaKeyword
JavaKeyword.
|
| Kv
Kv (Key Value)
Example:
Kv para = Kv.of("id", 123);
User user = user.findFirst(getSqlPara("find", para));
|
| Okv
Okv (Ordered Key Value)
Okv 与 Kv 的唯一区别在于 Okv 继承自 LinkedHashMap,而 Kv 继承自 HashMap
所以对 Okv 中的数据进行迭代输出的次序与数据插入的先后次序一致
Example:
Okv para = Okv.of("id", 123);
User user = user.findFirst(getSqlPara("find", para));
|
| Prop
Prop.
|
| Ret
Ret 用于返回值封装,也用于服务端与客户端的 json 数据通信
一、主要应用场景:
1:业务层需要返回多个返回值,例如要返回业务状态以及数据
2:renderJson(ret) 响应 json 数据给客户端
二、实例
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 = getRawData();
Ret ret = FastJson.getJson().parse(json, Ret.class);
if (ret.isOk()) {
...
}
if (ret.isFail()) {
...
}
三、定制 Ret
1:将状态字段名由 "state" 改为 "success",将状态值 "ok" 改为 true、"fail" 改为 false
CPI.setRetState("success", true, false);
2:将状态字段名由 "state" 改为 "code",将状态值 "ok" 改为 200、"fail" 改为 500
CPI.setRetState("code", 200, 500);
3:将消息字段名由 "msg" 改为 "message"
CPI.setRetMsgName("message")
4:配置 Ret 的 data(Object) 方法伴随 ok 状态,默认值为:false
CPI.setRetDataWithOkState(true)
5:配置监听 state 值,当值为 "ok" 时,额外放入 "success" 值为 true,否则为 false
CPI.setRetStateWatcher((ret, state, value) -> {
ret.set("success", "ok".equals(value));
});
在前后端分离项目中,有些前端框架需要该返回值:"success" : true/false
6:配置 Ret.isOk()、Ret.isFail() 在前两个 if 判断都没有 return 之后的处理回调
用于支持多于两个状态的情况,也即在 ok、fail 两个状态之外还引入了其它状态
CPI.setRetOkFailHandler((isOkMethod, value) -> {
if (isOkMethod == Boolean.TRUE) {
return false;
} else {
return true;
}
});
|
| 类和说明 |
|---|
| Func.F11
1 参 1 返回函数
|
| 类和说明 |
|---|
| Func.F10
1 参 0 返回函数
|
| JavaKeyword
JavaKeyword.
|
| 类和说明 |
|---|
| Prop
Prop.
|
| 类和说明 |
|---|
| Func.F00
0 参 0 返回函数
|
| Func.F10
1 参 0 返回函数
|
| Func.F11
1 参 1 返回函数
|
| 类和说明 |
|---|
| Ret
Ret 用于返回值封装,也用于服务端与客户端的 json 数据通信
一、主要应用场景:
1:业务层需要返回多个返回值,例如要返回业务状态以及数据
2:renderJson(ret) 响应 json 数据给客户端
二、实例
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 = getRawData();
Ret ret = FastJson.getJson().parse(json, Ret.class);
if (ret.isOk()) {
...
}
if (ret.isFail()) {
...
}
三、定制 Ret
1:将状态字段名由 "state" 改为 "success",将状态值 "ok" 改为 true、"fail" 改为 false
CPI.setRetState("success", true, false);
2:将状态字段名由 "state" 改为 "code",将状态值 "ok" 改为 200、"fail" 改为 500
CPI.setRetState("code", 200, 500);
3:将消息字段名由 "msg" 改为 "message"
CPI.setRetMsgName("message")
4:配置 Ret 的 data(Object) 方法伴随 ok 状态,默认值为:false
CPI.setRetDataWithOkState(true)
5:配置监听 state 值,当值为 "ok" 时,额外放入 "success" 值为 true,否则为 false
CPI.setRetStateWatcher((ret, state, value) -> {
ret.set("success", "ok".equals(value));
});
在前后端分离项目中,有些前端框架需要该返回值:"success" : true/false
6:配置 Ret.isOk()、Ret.isFail() 在前两个 if 判断都没有 return 之后的处理回调
用于支持多于两个状态的情况,也即在 ok、fail 两个状态之外还引入了其它状态
CPI.setRetOkFailHandler((isOkMethod, value) -> {
if (isOkMethod == Boolean.TRUE) {
return false;
} else {
return true;
}
});
|
Copyright © 2024. All rights reserved.