如果你有好的想法,欢迎贡献代码。
项目介绍
项目成分
Spring Taybct 是一个基于 SpringBoot 开发的 Java 后端后台管理业务基础框架,框架分为基础工具类库和业务框架,业务框架。
- 基础工具类库:
Spring TayBct Tools 是一个Spring 业务组件基础集成的工具类库,对一些常用的中间件做了基础的常用的集成,并且提供一些业务开发过程中常用的功能模块集成,工具类库里面是不含任何业务功能,只是对常用的功能进行了抽象,方便业务开发使用。例如:消息传递服务
——「」
如果你有好的想法,欢迎贡献代码。
Spring Taybct 是一个基于 SpringBoot 开发的 Java 后端后台管理业务基础框架,框架分为基础工具类库和业务框架,业务框架。
Spring TayBct Tools 是一个Spring 业务组件基础集成的工具类库,对一些常用的中间件做了基础的常用的集成,并且提供一些业务开发过程中常用的功能模块集成,工具类库里面是不含任何业务功能,只是对常用的功能进行了抽象,方便业务开发使用。例如:消息传递服务
基于 SpringBoot 3.5.6 开发的 Java 后端后台管理业务基础框架,常用的业务功能已经集成,开箱即用,相关使用说明,可以参考:
3.5.1 将兼容使用 Gradle 管理项目,随着项目的体积越来越大,模块越来越多,在传统的 Maven 项目中,无论是编译或是打包运行,都让项目变得越来越缓慢,所以引入了 Gradle 的项目配置,新项目直接选择使用 Gradle 管理就行了,如果是老项目升级,可以参考:Maven 项目迁移到 Gradle
Gradle 结合了 Maven 的规范和 Ant 的灵活,是更现代的构建工具,多数场景下比 Maven 更高效,且完全兼容 Maven;Gradle 有着强大的项目构建功能,各种缓存机制,以及独特的打包方式,使得可以多模块并行打包,总体的体验下来就是项目越多,模块越多,打包速度相比 Maven 打包更快
关键维度对比:
本文记录了如何将 Gradle 构建的项目发布到 Maven 中央仓库( https://central.sonatype.com )
这些步骤在之前的文章 发布包到 Maven Central 仓库 已经记录过了,其中,GPG 有些不一样的操作,下文会写出来
Docker 是一个开源的容器化平台,它能将应用程序及其依赖(如库、配置文件等)打包到一个标准化的 “容器” 中,确保应用在任何环境(开发、测试、生产)中都能以相同的方式运行。简单来说,Docker 解决了 “在我电脑上能运行,在你电脑上跑不起来” 的经典问题。
相关信息
核心概念:容器 vs 虚拟机
要理解 Docker,首先可以对比它与传统虚拟机(VM)的区别:
虚拟机:需要模拟完整的操作系统(包括内核),资源占用高、启动慢(通常分钟级)。
容器:不模拟完整操作系统,而是共享主机的内核,仅隔离应用所需的资源(如进程、内存、文件系统等),因此更轻量(MB 级)、启动快(秒级)。
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
—— Apache Kafka
在实际项目中,我们需要保存文件,比如用户上传的头像,或者上传的文档,一般不会保存到数据库中,而是保存到文件系统,比如本地文件系统,或者云存储。文件服务整合本地文件系统、阿里云OSS、MinIO、FastDFS,提供统一的接口操作文件的上传和下载删除操作,开发者后续也可以自行实现接口扩展。
提示
在实际开发中,如果没有统一的文件服务(如 MinIO),可以修改 taybct.file.type 为 local,直接本地开发就行了,到了生产环境,再修改为 minio或者其他文件服务,减少资源占用,毕竟我们要的是逻辑正确,而不是实现细节不同
除了已经集成的 RPC 框架(Spring Cloud OpenFeign、Apache Dubbo)之外,也提供了消息队列的解决方案,比如 Kafka、RabbitMQ 等。
在实际开发过程中,如果有涉及到和第三方的对接,我们会提供一些接口出去,但是,如果有很多对接方,那么,后续升级接口,就会导致接口的版本问题,所以,这边建议写接口的时候呢,加上版本号,
对接旧接口的继续使用,不会影响,新接口的,则需要加上更高的版本号,这样,当对接方升级的时候,就会自动使用新的接口,而不会影响到旧接口的使用。
.
`-- controller
|-- v1
| `-- SysUserController.java
|-- v2
| `-- SysUserController.java
`-- v3
`-- SysUserController.java