
提升代码效率:优化Map值到对象属性的赋值
本文将演示如何优化一段将Map请求参数赋值给对象的代码,该代码存在冗余的从Map中获取值并逐个赋值给对象属性的问题。原始代码如下:
@RequestMapping(value = "/v1/update/tmPara", method={ RequestMethod.POST })
public ResponseResult updateTmParaV1 (
HttpServletRequest request,
@RequestBody Map<String, Object> tmDdDicSetMap
) {
// ... 省略部分代码 ...
TmPara tmPara = new TmPara();
tmPara.setParId(String.valueOf(tmDdDicSetMap.get("parId")));
tmPara.setParNam(String.valueOf(tmDdDicSetMap.get("parNam")));
tmPara.setParVal(String.valueOf(tmDdDicSetMap.get("parVal")));
tmPara.setRemark(String.valueOf(tmDdDicSetMap.get("remark")));
tmPara.setRecStaDat(String.valueOf(tmDdDicSetMap.get("recStaDat")));
tmPara.setRecStpFlg(String.valueOf(tmDdDicSetMap.get("recStpFlg")));
tmPara.setRecStpDat(String.valueOf(tmDdDicSetMap.get("recStpDat")));
tmPara.setRecSta(String.valueOf(tmDdDicSetMap.get("recSta")));
tmPara.setBusSta(String.valueOf(tmDdDicSetMap.get("busSta")));
// ... 省略部分代码 ...
}这段代码重复使用String.valueOf(tmDdDicSetMap.get(...)),显得冗长且难以维护。
利用Spring MVC特性优化代码
为了简化代码,我们可以直接利用Spring MVC特性,避免使用Map接收请求参数。 我们可以直接将请求体映射到TmPara对象上。
优化后的代码:
只需将@RequestBody Map<string object> tmDdDicSetMap</string>替换为@RequestBody TmPara tmPara。如果请求体字段名与TmPara属性名不一致,可以使用@JsonProperty注解进行映射。
例如,如果请求体字段名为par_id,而TmPara属性名为parId,则需在TmPara类中添加注解:
public class TmPara {
@JsonProperty("par_id")
private String parId;
// ... 其他属性 ...
}通过此优化,Spring MVC会自动将请求体数据映射到TmPara对象,避免了手动从Map中获取值并赋值的冗余步骤,使代码更简洁、易读且不易出错。
@RequestMapping(value = "/v1/update/tmPara", method={ RequestMethod.POST })
public ResponseResult updateTmParaV1 (
HttpServletRequest request,
@RequestBody TmPara tmPara
) {
// ... 省略部分代码 ...
int tmParaUpdateFlag = tmParaService.updateTmParaV1(tmPara);
// ... 省略部分代码 ...
}以上就是如何优化从Map获取值并赋值给对象的代码?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号