[ITAEM团队分享] 快速地从 JavaWeb 到 SpringBoot,从代码规范性做起

一、前言

快速地从 JavaWeb 到 SpringBoot 企业级开发,从代码规范性讲起

参考《阿里巴巴Java开发规范手册》
根据众多项目的开发经验,针对ITAEM软件开发团队大一新成员的考核作品的代码问题进行分析

为以后框架、web组件的学习打基础,以便适应其使用逻辑、思想
——不同框架针对性地提供web开发不同层次的帮助

如主流框架的应用:

JPA 用于 Entity 层(+SpringData 后, + dao 层)
MyBatis/Hibernate 作用于 Dao 层
Swagger 用于 Controller 层
Spring 主要作用于 Service 层
SpringMVC/Struts2 主要作用于 Controller 层

等等

文章末尾预备一个 JavaWeb 层次的项目 demo 

二、基本代码层次及其主要内容

1、实体层:

entity / model / pojo( Plain Ordinary Java Objects => JavaBean)
基本是根据数据库表来建立的,为 dao 层 CRUD 做准备

2、数据库层:

dao / Repository (SpringBoot JPA 中官方推荐)
操作数据库之 CRUD

3、事务层:

service (事务一致性)
调用多次dao层操作,中间有意外撤回操作,确保事务一致性:dao层每次操作都会直接修改数据库
何谓事务一致性:支付转账:一减一增(dao),中间有差错(断电),立刻撤回

4、控制层:

controller(接口暴露)
返回值,
JSON

5、其他:

util 工具类(封装通用方法:返回值、OSS 对象储存等第三方技术)
Config 类(配置跨域请求)

三、其他规范

1、包名:

比如个人网站为 www.cun.com,则 entity 实体层包名为如下格式:
com.cun.entity ,按域名倒着写
dao 数据库操作层则为 www.dao.com
等等

四、数据库

1、表名:

①小型系统:t_user
②大型系统:如在支付模块,用户表名pay_user

2、字段名:

Linux 环境下是会识别大小写的,而 window 环境下是不会识别大小写
为了写通用,不出现不规范的的字段名(window 下:userName -> username)
userId -> user_id (SpringBoot JPA 字段生成的字段就是这种模式,没得商量,xx_xx,不允许 xx_Xx)

五、交互(ajax + json)

很多同学现在使用的是 JSP 显示数据,
这种模式在前后端分离的时代略显过时
也有不过时的思想,如 Python web 开发的 Django 模板引擎数据渲染,SpringBoot中的 thymeleaf,
与 Vue 、Angular 中很多指令速途同归 :如 JSP 的 forEach 分别对应 v-forng-repeat

总之,就一句话,多学点,不亏。

页面标签、数据更新,使用的过渡顺序:
jQuery dom -> React 虚拟 dom ->Vue 数据驱动 dom

六、小型案例

代码层次

这里写图片描述
代码链接:https://github.com/larger5/ITAEM1.git

数据库

这里写图片描述

返回给前端的 json 数据

这里写图片描述

猜你喜欢

转载自blog.csdn.net/larger5/article/details/80420490