微服务项目代码结构

微服务项目代码接口

1.微服务代码结构

在实际的微服务开发中,我们常常这样来划分层次

tt-root
├── tt-auth -- 授权服务提供
├── tt-common -- 常用工具封装包
├── tt-gateway --  网关
├── tt-ops -- 运维中心
├    ├── tt-admin -- spring-cloud后台管理
├    ├── tt-develop -- 代码生成
├    ├── tt-resource -- 资源管理
├    ├── tt-seata-order -- seata分布式事务demo
├    ├── tt-seata-storage -- seata分布式事务demo
├── tt-service-provider -- 业务模块
├    ├── tt-desk-provider -- 工作台模块 
├    ├── tt-log-provider -- 日志模块 
├    ├── tt-system-provider -- 系统模块 
├    ├── tt-user-provider -- 用户模块 
├    ├── tt-order-provider -- 订单模块 
├         ├── entity(数据表字段映射实体类包)
├		  ├── dao(数据操作类包)
├		  ├── service(服务操作类包)
├		  ├── api(服务暴露实现类包)
├── tt-service-api -- 业务模块api封装
├    ├── tt-desk-api -- 工作台api 
├    ├── tt-dict-api -- 字典api 
├    ├── tt-system-api -- 系统api 
├    ├── tt-user-api -- 用户api 
├──  └── tt-order-api -- 订单api 
├		  ├── request(请求实体包)
├		  ├── response(返回实体包)
└──		  └── api (服务暴露接口包)
2.包依赖关系

举例:将order分为两个jar,一个是api包,另一个是provider

  • api包:主要存在服务接口的暴露,包括请求实体类和返回实体类,比较纯粹
  • provider包:主要用于服务接口的实现,包括一些逻辑处理,类似我们传统web工程,是一个真正的服务处理工程

其中provider包依赖于api包,api包主要用于对外开放服务接口!

在这里插入图片描述

禁止出现以下依赖

这样子会导致在启动order服务或者user的时候,工程会报jar冲突,工程存在循环依赖的问题!

原因:order-api.jar包依赖user-api.jar然后user-api.jar又依赖order-api.jar,导致循环依赖!
在这里插入图片描述

正确的做法应该是由provider工程来依赖,而不是由api来依赖!
在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据你提供的引用内容,Spring Boot是一个用于快速构建基于Java的应用程序的框架。它提供了自动配置和约定优于配置的原则,使开发人员能够快速搭建微服务项目。使用Spring Boot可以简化微服务项目的开发和部署过程,提高开发效率。 在实际的微服务项目实战中,以下是一些常见的步骤和方法: 1. 配置项目依赖和环境: - 导入Spring Boot的依赖,例如spring-boot-starter-web、spring-boot-starter-data-jpa等。 - 配置项目的数据库连接、日志等相关环境。 2. 创建微服务模块: - 根据项目需求,划分不同的功能模块。 - 使用Spring Boot创建各个微服务模块,并进行相应的配置。 3. 定义数据模型: - 根据业务需求,设计和定义相应的数据模型和数据库表结构。 - 使用JPA等技术与数据库进行交互,实现数据的增删改查等操作。 4. 实现业务逻辑: - 在各个微服务模块中实现相应的业务逻辑。 - 使用Spring Boot提供的各类组件和工具,如Spring MVC、Spring Security等,简化开发过程。 5. 配置微服务间的通信: - 使用Spring Cloud等技术实现微服务之间的通信和协作。 - 可以使用服务注册与发现、负载均衡等功能,提高系统的可扩展性和可靠性。 6. 进行单元测试和集成测试: - 编写测试代码,对各个微服务模块进行单元测试和集成测试,确保功能的正确性和稳定性。 7. 部署和监控微服务项目: - 使用Docker等容器技术,将微服务模块打包成可部署的镜像。 - 部署镜像到云平台或服务器上,并进行相应的监控和调优。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

包耳邹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值