1.自行封装异常类,增加filter拦截异常结果: 如出现校验不通过,则抛出异常含中文信息.与return返回 性能差不多..选取该形式不需要以对象形式往上一层返回.
2.打印日志使用占位符 例如原来:logger.info("测试日志:"+someStr+"end"); 改成:logger.info("测试日志:{}end", someStr); 然后error日志,如果带exception的话,就放最后,不需要占位符的。 例如:logger.error("这是错误:{}", ex.getMessage(), ex); 将exception放最后,logger就能正常打印出堆栈。
3.SpringBoot项目的The temporary upload location is not valid 问题 在springboot项目启动后,系统会在‘/tmp’目录下自动的创建,但服务器会存在自动清理tmp目录下的东西,导致该目录下的文件消失.而 springboot默认指定的临时存储文件夹(如文件上传)不存在了导致报错. 解决方案:指定不会被影响的文件夹路径
-Djava.io.tmpdir=/apps/logs/tmp
4.每个接口方法 应有独立一套业务处理,不应将多个业务处理判断交由接口方法去处理.
5.平台化 需要别人实现 平台定义的接口(传入参数由平台固定),提供标准化接口给外围系统.
6.接口交互考虑两个重要问题:一、防重(使用数据库字段unique或其他防重技术方案如redis);二、幂等(涉及数据变更操作的接口)
7.JDBC编程出现的异常有SQLException、SQLWarning
8.返回基础类型数据的可能引起NPE? public int test(){ Integer i = null; return i; }