最近修复以前开发的项目的bug时发现springmvc编写代码的时候有很多容易地方需要规范,否则难以维护和容易出现不可以预知的bug,总结有以下几点:
- 控制层方法接口接收参数的时候应该尽量避免使用Map这种隐藏未知参数的方式,使用map类型因为前端返回参数名和值都是未知,故这种代码后续开发人员很难维护。故需要用具体参数去接收前端传的参数或表单元素,如果前端传过来的参数较少,则直接使用一个或多个具体参数去接收参数值;而如果要接收的参数比较多的情况,则需要创建一个DTO传输对象,对象中包含包含所有参数以及参数的注释,这样后续人员维护的时候也能够清晰地了解参数的具体情况。
- 接口方法参数应该尽量使用基本数据类型的对象形式,包括业务层方法也要主要统一使用基本类型的对象类型,避免空值造成的空指针问题,比如接口用Integer参数接收数据,而调用的业务层方法参数用int基本数据类型,如果接收的参数是空值null,则调用业务层方法时会报空指针异常,找不到业务层对应方法。