SpringDemo 是一个基于 Spring Boot 的基础示例项目,不仅提供了 SpringBoot 的基础框架,还集成了多种常用的中间件和工具,旨在提供一个框架完整、快捷配置、方便入手的 Spring Boot 开发实践案例,简化项目初始化场景的操作。
- 由于疲于按空项目的方式创建
SpringBoot项目,要一步步配置结构和组件,为了简化个人在初始化项目时的操作,索性创建个适配多数项目初始化场景的基础框架项目,需要时直接拉一下就行。 - 项目使用的是作者接触到的技术栈,覆盖了中小型项目可能涉及的技术,而且使用的多数都是较新版本。
- 为了做到通用,使用了尽量互相兼容的组件版本,也对出现的兼容性问题进行了修复。
- 这个项目不仅是一个技术示例,更是一个可扩展的开发平台,适合作为学习和实际开发的基础。
- 展示 Spring Boot 与多种中间件的集成方案
- 涵盖了数据存储、消息队列、文件存储等多个领域
- 提供常用组件的标准配置、使用示例和测试方法
- 可用于框架研究和演示
- 可作为实际项目的开发模板
- 提供了完整的分层架构示例(controller-service-dao)
- 包含了多种设计模式和最佳实践
- 适合学习和研究 Spring Boot 的开发实践
- 提供了多种中间件的配置和使用示例
- 包含了完整的测试用例
- 适合学习和研究各种中间件
- 标准的分层架构
- 清晰的模块划分
- 良好的代码组织结构
- 配置文件管理
- 日志配置
- 异常处理
- 数据访问
- 其他组件
- 项目模板
- 技术验证
- 培训教学
- 微服务架构
- 云原生应用
- 企业级应用
- MySQL:传统关系型数据存储
- Redis:缓存和会话管理
- Neo4j:图数据存储和关系查询
- Elasticsearch:全文检索和数据分析
- Kafka:高吞吐量消息处理
- RabbitMQ:可靠消息队列
- Pulsar:分布式消息系统
- MinIO:对象存储服务
- 支持文件上传、下载、管理等功能
- MyBatis-Plus:增强的 MyBatis 框架
- Lombok:简化 Java 代码
- Logback:日志框架
- FastJSON:JSON 处理工具
- Nacos:配置中心和服务发现
- 列出常用关键配置并进行了注释说明
- 支持多环境配置管理
SpringDemo/
├── .mvn/ # Maven wrapper 文件
├── src/
│ ├── main/
│ │ ├── java/ # Java 源代码
│ │ ├── SpringDemoApplication.java # 启动类
│ │ │ └── com/andy/springdemo/
│ │ │ ├── config/ # 配置类
│ │ │ ├── controller/ # 控制器
│ │ │ ├── dao/ # 数据访问层
│ │ │ ├── entity/ # 实体类
│ │ │ ├── mapper/ # MyBatis 映射器
│ │ │ ├── service/ # 服务层
│ │ │ └── utils/ # 工具类
│ │ └── resources/ # 资源文件
│ │ ├── application*.yml # 配置文件
│ │ ├── banner.txt # 启动页提示
│ │ ├── logback.xml # 日志配置
│ │ ├── DB/ # 数据库脚本
│ │ ├── static/ # 静态资源
│ │ ├── assembly/ # 插件打包配置
│ │ ├── bin/ # 预置脚本,包括打包和启动
│ │ ├── mapper/ # 映射xml文件
│ │ ├── note/ # 帮助学习的笔记,可删除
│ │ └── templates/ # 模板文件
│ └── test/ # 测试代码
└── pom.xml # Maven 配置文件
- JDK 17+
- Maven 3.8+
- MySQL 8.0+
- Redis 6.0+
- 其他中间件根据需要安装
- 默认配置(application.yml)
- 开发环境配置(application-dev.yml)
- 测试环境配置(application-test.yml)
- 生产环境配置(application-prod.yml)
- 在相应环境进行配置即可
- 克隆项目到本地
- 修改配置文件中的相关参数
- 执行数据库初始化脚本(位于
src/main/resources/DB/目录) - 运行
SpringDemoApplication.java的 main 方法
- 点击 HTML 打开静态页面(位于
src/main/resources/static/demo.html) - 仅用于展示,无意义,可根据需求调整
- 项目提供了多个测试类,可用于测试连通性,位于
src/test/java/com/andy/springdemo/目录 - yml 配置好后点击运行测试方法,会返回连通性提示
- 建议在开发阶段测试使用,实际投入使用时请删除
- 仓库提供了很多组件,不需要的组件将包(pom.xml)、配置(yml)和代码删除即可
- 仓库中的配置文件已经配置了默认无意义值,请根据实际需求修改
- 仓库中的代码已经经过测试,但是不保证适用于所以环境,如果发现代码有问题,请自行修复
- 本仓库遵循 MulanPSL v2 开源协议,但项目涉及技术及组件包请遵守原作者要求
- 项目仅用于学习,请勿用于非法用途,作者不承担任何后果
- 请勿保留和滥用原项目开发者信息
如果您觉得本项目还可以,请点个star~,也可以请作者喝杯咖啡 ^_^
