SSM到Spring Boot从零开发校园商铺平台---3、店铺注册功能模块(一)

继续更新校园商铺项目,由于店铺注册功能实现逻辑较长,分成两个部分讲述。附上github地址:https://github.com/tyronczt/imooc-o2o

先上效果图:

  • 前端页面前端页面
  • 店铺service测试店铺service测试
  • 水印图片水印图片
  • 店铺新增功能测试店铺新增功能测试
  • 店铺修改功能测试店铺更新功能测试

具体代码逻辑视频中讲述很详细,我就不赘述了。此文主要讲述重要知识点,具体的代码实现可查看我的github地址。

一、mybatis配置文件中添加自增主键
1
2
3
4
mybatis-config.xml文件中
<setting name="useGeneratedKeys" value="true" />
shopDao.xml文件中
useGeneratedKeys="true" keyColumn="shop_id" keyProperty="shopId"
二、dto层开发

dto层用于记录返回结果状态信息,详情可见ShopExecution.java

三、service层之事务控制【重要】

店铺注册的逻辑中分为四步:①新增店铺信息;②返回店铺ID;③存储图片信息;④存储数据库这是粗略的四个步骤,如果中间出错一步,整个过程将会回滚。注意:**Spring事务管理中只对运行期异常(RunTimeException)进行事务回滚。**思考一:代码中将RunTimeException进行封装,业务将更加清晰;思考二:存储图片时,如未上传图片,应添加默认图片,逻辑更加合理。

四、使用thumbnailator处理图片,并封装工具类及测试

官方案例说明:coobird/thumbnailator具体代码实现:

  • 测试类:ShopServiceTest.java - - -主要方法是:path2MultipartFile;
  • 工具类:ImageUtil.java、PathUtil.java
五、使用SUI Mobile编写前端代码

SUI Mobile轻量,小巧且精美,能方便迅速搭建响应式前端页面,如效果图[1]所示。前端功能逻辑实现中,将会在此系列文章第四篇中讲解。


版权声明:本文采用 CC BY-NC-SA 3.0 许可协议,转载请注明出处。