1 : 引入的dubbo接口
, 中间要包装一层remote
, 才可以供业务层使用
为何包装 :
如果调用的dubbo接口失效或出了问题, 没有处理则整个项目都会挂掉
如何包装?
public boolean isOpenDfcAlliance(String shopCode, String userId){
if(StringUtils.isEmpty(shopCode) || StringUtils.isEmpty(userId)){
return false;
}
try {
//判断是否显示家选帮卖icon
return helpSellLeagueDubboService.needShowHelpSellLeagueIcon(shopCode, userId);
} catch (Exception e) {
log.error(" isOpenDfcAlliance shopCode:{},error:{}", shopCode,e);
return false;
}
}
2 : 缓存中获取的用户信息, 不能在service
层获取, 会出现线程安全. 只能在service
层获取
3 : 不能引入重复的jar包,或两个不同版本的相同jar包
4 : 积累大量工具类, 以后说不定会派上用场
5 : 安全性, controller不能出现写死的常量, 尤其是重要数据, 例如参数校验判断
可使用
private static final Integer num = 0;
6 : 建表必须规范, 表与字段注释都需要写, 表与字段的编码必须一致
date尽量使用dateTime编码
7 : 多用logger日志, 有bug的你会感谢当初多此一举的自己