1、建项目时项目目录
com.it:
api:
internal --> 内部
portal --> 前端
backend --> 后端
invoke --> 外部 ( 指互联网上的接口 )
common: --> 组件 通常放一些通用工具类
config: --> 配置文件 通常放配置文件
dao: --> 数据访问接口
domain:
dto: 数据传输对象 通常一个请求一个dto
vo: 视图显示对象 通常用于返回对象
orm: 对象关系映射 纯实体类没有一点变动
em:enum枚举的缩写。通常这个包放的是枚举对象
fiter: --> 各种拦截器
service: --> 服务层
ifac: 接口对象
impl: 实现类
注意:在service层中。判断传输对象是否为空。否则返回null
防止别人在使用接口时,传空对象
2、方法命名规范
获取列表对象List
listObject()
获取单个对象
getObject()
3、传输对象时可用DTO文件。不可用Map作为包装对象
4、创建Map时不能创建空对象。要使用
错误示范:
Map<String,Object> map = new HashMap<>();
List<?> list = Service.list();
if(list == null || list.size() <= 0){
//进行返回操作
}else {
map.put(globalVar.listName,list);
}
错误原因: 如果if表达式成立。则Map创建了一个没人引用的对象
放在那里虽然会被垃圾回收。但是浪费资源
正确示范:
List<?> list = Service.list();
if(list == null || list.size() <= 0){
//进行返回操作
}else{
Map<String,Object> map = new HashMap<>();
map.put(globalVar.listName,list);
}
5、返回对象时。要严谨判断
例如:
List<?> list = Service.list();
if(list == null || list.size() <= 0){
// 进行返回操作
}
6、@Transactional要明确事务类型@Transactional(propagation = Propagation.REQUIRED)
7、创建domain时。每个实体类都需要加@ApiModel
8、除domain和接口以外,创建类的同时,把log一同创建。
log创建方式:
class DemoApi{
static logger log;
public DemoApi(){
if(log == null){
log = LoggerFactory.getLogger(DemoApi.class);
}
}
}
9、关于钱的存储方式转换成为分单位进行存储