hjr-JAVA工作日记(五):一种基于基类的后台架构

来源:互联网 发布:苍山如海残阳如血 知乎 编辑:程序博客网 时间:2024/05/22 00:11

以前经常用三个包,controller,service,impl,model写java后台
model存放各种数据模型,service存放每个模型对应的服务接口,impl存放每个服务的实现,controller存放路由与逻辑。
现在使用基类的方式,只保留model和controller

model

首先,新建一个Baseinfo,存放一些通用的字段与对应的getter、setter,字段有id,创建时间,修改时间,是否禁用等,也可放通用的方法。如把所有字段转化为map的toMap方法。
之后的所有model都继承Baseinfo。

//父类    Map<String, Object> updateMap = new HashMap<String, Object>();    public Map<String, Object> toMap() {        updateMap.put("createdTime", this.getCreatedTime());        updateMap.put("createdName", this.getCreatedName());        return updateMap;    }//子类    public Map<String, Object> toMap() {        updateMap =  super.toMap();        updateMap.put("realname", this.getRealname());        updateMap.put("username", this.getUsername());        return updateMap;    }

controller

控制器也建一个Basecontroller,存放操作SQL的实例,然后写增删改查分页等方法,其中比较关键的有两点
1. Class clazz这个参数
2. public class BaseController <T extends Baseinfo>{}model需要继承Baseinfo作为参数传入,之后需要传入Modle参数的地方都用t代替。
子类控制器,先写上Class clazz = User.class;之后把clazz作为参数传入BaseController并调用其方法。

阅读全文
0 0