Spring Boot ——瑞吉外卖项目

资源

瑞吉外码教程链接:https://www.bilibili.com/video/BV13a411q753?spm_id_from=333.999.0.0
项目资源链接:https://www.bilibili.com/video/BV13a411q753?spm_id_from=333.999.0.0

软件开发介绍

软件开发流程

角色分工

瑞吉外卖项目介绍

技术选型

功能架构

角色

开发环境搭建

数据库搭建

maven项目搭建

Spring Boot 配置

pom.xml依赖

 <!--spring boot父类-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.20</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.23</version>
        </dependency>

        <!--javaMail-->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.5.6</version>
        </dependency>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.5.3</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.4.5</version>
            </plugin>
        </plugins>
    </build>

application.xml 的配置

server:
  port: 8080
spring:
  application:
    #应用名称 , 可选
    name: reggie_take_out
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
      username: root
      password: password
mybatis-plus:
  configuration:
    #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射 address_book ---> AddressBook
    map-underscore-to-camel-case: true
    #日志输出
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      id-type: ASSIGN_ID

# 文件上传路径
reggie:
  path: H:\个人项目\reggie\img\

编写启动类

导入静态资源

编写静态资源映射类

功能开发

登录功能

需求分析

1.页面原型展示

2.登录页面展示

3.查看登录请求信息

4.数据模型(employee表)

代码开发

1.创建实体类Employee,和employee表进行映射

2.创建Controller、Service、Mapper

3.导入返回结果类R

4.在Controller中创建登录方法

心得:在写代码时首先分析我们真正处理的逻辑,把这个业务逻辑理清楚,然后具体处理的步骤梳理好后,再去开始编码。

功能测试

后台退出功能

需求分析

代码开发

功能测试

完善登录功能

分析问题

代码实现

功能测试

新增员工

需求分析

数据模型

代码开发


使用方法一:有不好的地方,就是当每个页面都有异常,要到每个页面都写一遍。这样维护代码不太好。
使用方法二:把处理异常的操作单独建一个类来进行处理

功能测试

总结

员工信息分页查询

需求分析

代码开发

首先先配置Mybatis-plus的分页

功能测试

启用/禁用员工账号

需求分析

代码开发

功能测试

代码恢复

编辑员工信息

需求分析

代码开发

功能测试

分类管理业务开发

效果展示

公共字段自动填充

问题分析

代码实现

实现步骤:

1.在实体类的属性上加上@TableField注解,制定自动填充的策略

2.按照框架要求编写元数据对象处理器,在此类中统一为公共字段赋值,此类需要实现MetaObjectHandler接口

功能测试

功能完善

实现步骤:
1.编写BaseContext工具类,基于ThreadLocal封装的工具类

2.在LoginCheckFilter的doFilter方法中调用BaseContext来设置当前登录用户的id

3.在MyMetaObjectHandler的方法中调用BaseContext获取登录用户的id

新增分类

需求分析

数据模型

代码开发

功能测试

分类信息分页查询

需求分析

代码开发

功能测试

删除分类

需求分析

代码开发

功能测试

功能完善

1.实体类 Dish 和 Seteal(从资料中复制即可)

2.Mapper接口DishMapper和SetmealMapper

3.Service接口DishService 和 SetmealService

4.Service实现类DishServiceImpl和SetmealServiceImpl

修改分类

需求分析

代码开发

功能测试

文件上传下载

文件上传介绍

文件下载介绍

文件上传代码实现

文件下载代码实现

新增菜品

需求分析

数据模型

代码开发

功能测试

菜品信息分页查询

需求分析

uploading-image-531627.png

代码开发

功能测试

修改菜品

需求分析

代码开发

功能测试

新增套餐

需求分析

数据模型

代码开发

功能测试

套餐信息分页查询

需求分析

代码开发

共呢个测试

删除套餐

需求分析

代码开发

功能测试

短信发送

短信服务介绍

阿里云短信服务

代码开发

手机验证码登录

需求分析

数据模型

代码开发

功能测试

导入用户地址薄相关功能代码

需求分析

数据模型

导入功能代码

功能测试

菜品展示

需求分析

代码开发

功能测试

购物车

需求分析

数据模型

代码开发

功能测试

用户下单

需求分析

数据模型

代码开发

功能测试

posted @ 2022-05-19 17:18  pxmt  阅读(302)  评论(0)    收藏  举报