开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 3 天,点击查看活动详情
使用SpringBoot来开发Web应用程序首先要分析数据,分析要使用到的数据并创建数据库和表,然后根据要实现的功能编写sql语句,从持久层到业务层到控制层以及前端页面一步步分析设计,以下就开发一个购物车功能模块来更深入的理解SpringBoot开发的流程。
分析功能
常见的商城比如淘宝拼多多都有一个加入购物车的功能,它可以实现把用户看中的商品加入购物车中、显示购物车列表、增加商品数目等功能,先来分析加入购物车功能的实现:
创建数据库表以及实体类
明确要开发的模块后就可以着手设计数据表了,作为购物车,常用的字段可以是商品、价格、商品数量、用户等字段:
CREATE TABLE t_cart (
cid INT AUTO_INCREMENT COMMENT '购物车数据id',
uid INT NOT NULL COMMENT '用户id',
pid INT NOT NULL COMMENT '商品id',
num INT COMMENT '商品数量',
PRIMARY KEY (cid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
根据数据表来设计实体类,需要实现Serializable类,这个类的作用是实现序列化,通常应用在需要网络传输或者存储在其他介质的对象,他会把对象写入一个byte流(序列化),之后进行数据传输等等操纵,然后在需要时从这个数据流里读取这个对象(反序列化)。
设计持久层
持久层的设计第一步要做的是明确sql语句,设计“将商品加入购物车”这个动作需要用到哪些SQL语句;第二步就是针对Java代码的编写了,创建**Mapper,给每条SQL语句都对应一个Mapper层方法;第三步则是配置SQL映射,这一步需要在resources目录下创建xml文件,在xml文件中编写sql语句来对应mapper接口中的方法。
设计业务层
在这一层首先要做异常规划,判断可能出现的异常并抛出,下一步则是设计业务层方法。
设计控制层
在这一层进行异常的处理,并设计请求,控制层依赖于业务层,要使用@Autuword来自动装配业务层对象,从而调用业务层方法。