### 文件目录 ``` `-- src |-- main | |-- java | | `-- com | | `-- shawn | | |-- constant | | |-- model | | | |-- dto | | | |-- entity | | | `-- param | | |-- repository | | | |-- base | | | `-- mybatis | | |-- service | | | |-- base | | | |-- impl | | | `-- interfac | | |-- util | | `-- web | | |-- controller | | `-- base | | |-- excetpion | `-- resources | `-- com | `-- shawn | `-- repository | `-- mybatis `-- test `-- ...(& so on) ``` - ```src/main/java/com/shawn/constant```: 该目录放置了各种常量类 - ```src/main/java/com/shawn/model```: 该目录放置了各种模型类,其子目录 dto 放置了 DTO(Data Trasfer Object)类,其另一子目录 entity 放置了实体类 - ```src/main/java/com/shawn/model/param```: 继承 entity 实体类,用于接口入参,额外的实体参数,可加在这里 - ```src/main/java/com/shawn/model/dto```: 继承 entity 实体类,用于接口输出,额外的实体参数,可加在这里 - ```src/main/java/com/shawn/repository```: 该目录放置了数据库增删改查的接口,其子目录 impl 放置了这些接口的实现类 - ```src/main/java/com/shawn/service```: 该目录下放置服务(一个服务对应于一些业务逻辑的集合)的接口,其子目录 impl 放置了这些接口的实现类 - ```src/main/java/com/shawn/util```: 该目录放置了各种工具类 - ```src/main/java/com/shawn/web```: 该目录放置了和网络层相关的一切,包括控制器、异常处理、过滤器等等 - ```src/main/resources/com/shawn/repository/mybatis```: 该目录放置了 MyBatis 的映射器 XML 文件 ### 架构 controller、service、repository 都有 base,全部继承后,即可实现基本的增删改查功能接口 mybatis 的 Example 可实现无sql查询 ,可参考https://blog.csdn.net/biandous/article/details/65630783 继承swagger 接口文档,程序运行后访问: http://127.0.0.1:8090/swagger-ui.html ### 代码规范 controller 尽量只写 参数接收和转换,逻辑代码尽量写在service里面,业务逻辑尽量按最小粒度归纳到对应的实体的service里面, 接口返回类型尽量用dto,用map会增加代码阅读难度