### Java后端开发规范 * Idea统一安装阿里Java代码开发规约插件:```Alibaba Java Coding Guidelines```,完成代码开发之后进行编码规约扫描,不允许存在红色块警告(```Error``````Blocker```) * 使用```lombok```简化掉```pojo```的```get```、```set```代码 * 表单校验统一使用```hibernate-validator```完成校验 * 业务检查判断统一使用封装好的断言工具类```AssertUtil``` * 接口的出入口日志统一由框架处理,但是业务层关键日志一定要加上。日志统一使用```logback```框架,添加```lombok```的```@Slf4j```使用 * 除了JDK工具类之外的第三方工具类都不允许直接调用,统一再次封装到```util```包中,避免第三方工具类版本升级可能会导致大面积代码修改,也方便后续工具类统一升级管理 * 所有异常通过```throws```方式统一往外抛出,除非是可以内部消化的异常,比如资源释放失败,重新释放。否则统一往外抛出异常 * Dao层统一继承```tk.mybatis的Mapper```,简化MyBatis的Mapper编写 * Service层要有接口、实现类 * Controller层统一继承```BaseController```,接口返回值类型统一使用```ResponseEntity```,返回值封装统一调用```BaseController```的```response```方法 * 方法参数尽量直观,避免使用```request```、```response```、```map```、```json```之类的复杂数据对象,建议明确好参数具体有哪些,做到一个方法只做一件事情,如果参数数量实在太多,可以使用```Java Bean```传参 推荐一篇文章,共同学习下:http://blog.didispace.com/cxy-wsm-zml-10/