一图读懂 苍穹外卖项目

一图读懂 苍穹外卖项目

  • 相关xmind文档太大了 发不出来 想要的可以评论点个关注 我会发给你
  • 本文档适合正在写苍穹外卖项目的人
  • 本篇文档懂了 那这个项目就没问题了

2024-04-06 213120

2024-04-06 213205

2024-04-06 213154

2024-04-06 213158

2024-04-06 213202

2024-04-06 213208

sky-common

constant:存放相关常量类,使用常量类是为了规范开发。做到一处改变处处改变

  • 比如公共字段自动填充常量

  • 信息提示

  • 密码常量等

context:存放上下文类,上下文类就是负责处理一次请求解决不了的事,比如购物车删减功能,前端只把购物车中要删减的东西的id发了过来,但每个人都有独立的购物车,要如何分辨要删除谁购物车中的商品呢?就是靠上下文技术

  • BaseContext:供了一种在多线程环境下存储和访问当前线程中用户ID的机制

    • 创建threadLocal对象来进行实现上下文

enumeration:项目的枚举类存储

  • 枚举是一组常量,目前我的认识中不知道为什么要区分一个常量类和一个枚举类

    • 在本项目中用来制作公共字段自动填充的注解取值。

exception:存放自定义异常类,定义项目开发所需要的不同的异常类来做到

  • 异常类,用于定义项目运行中所遇到的各种情况

    • 在本项目中有一个BaseExcepition

json:处理json转换的类,用于json和对象互相转换

  • 基于jackson将Java对象转为json,或者将json转为Java对象 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象] 从Java对象生成JSON的过程称为 [序列化Java对象到JSON]

    • 基本固定代码

properties:存放SpringBoot相关的配置属性类,比如jwt令牌名

  • 该文件主要的作用是使得配置application.yml文件时有代码提示。该类的开发也有一些套路

    • @Component

      • Spring Framework 提供的注解将一个类标识为spring中的bean
    • @ConfigurationProperties(prefix = “sky.alioss”)
      被修饰的类中有:
      private String endpoint;
      private String accessKeyId;

      • 对应的xml文件:
        sky:
        alioss:
        endpoint: ${sky.alioss.endpoint}
        access-key-id: ${sky.alioss.access-key-id}

        • 该注解提供了这注解来进行对xml文件的配置
    • @data

result:返回结果类的封装

  • 统一后端返回结果和分页查询结果

    • Result:该类用于统一后端返回结果,提供了成功有参、成功无参、失败三个结果,继承了Serializable

    • PageResult:本项目有使用PageHelper来进行简化分页查询

utils:存放常用工具类

sky-pojo

dto:用于不同层之间传输数据,比如前后端中

  • 一样

entity :存放实体类,每个实体类对应数据库中的一张表。

  • 实体设计根据每个项目的不同,这里说开发实体的一些套路

    • @Data

      • 一个Lombok注解,自动生成构造、get、set等方法
    • @Builder

      • 一个Lombok注解,它用于生成建造者模式相关的代码。建造者模式是一种设计模式,它通过一个建造者类来创建目标对象,可以通过链式调用设置对象的属性。

        • 可以这样构造对象
          User user = User.builder()
          .username(“john”)
          .age(30)
          .build();
    • @NoArgsConstructor

      • 这个注解告诉Lombok生成一个无参构造函数。无参构造函数在很多情况下是必需的,比如使用反射创建对象实例、JPA的实体类
    • @AllArgsConstructor

      • 这个注解告诉Lombok生成一个包含所有字段的参数的构造函数。
    • 在类上继承Serializable

      • Serializable是一个标记接口,用于表示类的对象可以序列化,即可以将对象转换为字节序列,以便在网络上传输或存储到持久存储设备上

vo:常用于在业务逻辑层中传输数据

  • 一样,只不过类的属性不完全,适合每个接口的传输

sky-server

annotation

  • 存放注解类,本项目建了一个AutoFill接口注解类来实现公共字段自动填充

    • @Target(ElementType.METHOD)
      指定该注解应用范围

    • @Retention(RetentionPolicy.RUNTIME)
      指定该注解生命周期

aspect

  • 存放AOP:AOP主要用于解决横向问题,本项目的横向问题是要插入、更新时解决时间记录字段的取值问题

    • 我理解的横向问题,就是将一个个业务看做竖着的平行线,这些平行线根据业务逻辑有长有短,它们可能有一些东西是重复的。
      而AOP不是竖着的线,是一条横着的线,被这条横着的线交叉到的业务都要执行AOP的代码

config:存放配置类

  • OssConfiguration:阿里云OSS对象存储服务

  • RedisConfiguration:reidis简单连接

  • WebMvcConfiguration:web相关组件:关于整个网页的核心构成,比如拦截器、接口文档这类

    • 该项目有管理员端的拦截器和用户端的拦截器,在这里注册的拦截器会添加到 Spring MVC 拦截器链中

    • 使用了knife4j生成了接口文档,knife4j是swagger的集成

  • @Configuration:使用这个注解即可变为配置类

  • @Slf4j:方便生成日志

interceptor:存放拦截器

  • 本项目使用jwt对拦截的东西进行校验

controller:控制器,又叫服务层,在项目中U负责URL 映射、请求参数解析、响应内容的构建

service:又叫表示层,用来处理业务逻辑,然后调用mapper层

mapper:又叫持久层,负责与数据库进行交互

SkyApplication:项目启动类,在这里编写一些项目启动的基础操作

  • @SpringBootApplication

    • 一个复合注解,包含了以下三个注解的功能:

@Configuration:将当前类标记为配置类,用于定义配置信息。
@EnableAutoConfiguration:启用 Spring Boot 的自动配置机制,根据项目的依赖和配置自动配置 Spring 应用。
@ComponentScan:启用组件扫描,自动扫描并注册项目中的 Bean。

  • @EnableTransactionManagement //开启注解方式的事务管理

    • 启用注解驱动的事务管理,让 Spring Boot 自动管理事务。通常配合 @Transactional 注解一起使用,在需要事务管理的方法上加上 @Transactional 注解即可实现事务管理。
  • @EnableCaching//开启缓存注解

    • 启用注解驱动的缓存管理,开启 Spring 的缓存功能,可以使用 @Cacheable、@CachePut、@CacheEvict 等注解来定义缓存行为。需要注意的是,开启缓存功能后,需要在项目中配置缓存的实现,比如使用 Ehcache、Redis 等。

handler:全局异常处理

一些通用的

target

  • 编译文件

test

  • 项目测试文件

pom.xml

  • 依赖管理

项目名.iml

  • git生成
  • 46
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
苍穹项目可以使用Postman进行API接口的测试和调试。Postman是一款常用的API开发工具,它可以帮助开发人员发送HTTP请求并查看响应结果,方便进行接口的测试和调试。 在苍穹项目中,可以使用Postman发送各种类型的HTTP请求,比如GET、POST、PUT、DELETE等,来模拟用户操作和测试接口功能。通过Postman,可以验证接口的正确性、查看接口返回的数据、调试接口的参数等。 为了使用Postman进行苍穹项目的接口测试,您需要以下步骤: 1. 下载并安装Postman:您可以从Postman官网(https://www.postman.com/)上下载并安装适合您的操作系统的版本。 2. 打开Postman并创建一个新的请求:打开Postman应用,在界面上选择"New"来创建一个新的请求。 3. 输入接口URL和选择请求方法:在新建请求的界面中,输入苍穹项目的接口URL,并选择适当的请求方法,比如GET或POST。 4. 添加请求参数和请求头:根据需要,您可以添加请求参数和请求头,以便于模拟不同的请求情况。 5. 发送请求并查看响应:点击发送按钮,Postman会向服务器发送请求,并在界面上显示响应结果。您可以查看接口返回的数据、响应状态码等信息。 通过以上步骤,您可以使用Postman进行苍穹项目的接口测试。这样可以帮助您确保接口的正确性和稳定性,提高项目的质量和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值