一、基础项目模板
1. 项目初始化
通过 Spring Initializr 生成基础结构(支持 Web、DevTools 等核心依赖):
- 依赖选择:Spring Web(RESTful API)、Spring Boot DevTools(热部署)、Lombok(简化代码)
- 构建工具:推荐 Maven(pom.xml 管理依赖)或 Gradle(构建速度更快)
- 目录结构:
src/ ├── main/ │ ├── java/ # 源码目录(主启动类需放在根包下) │ └── resources/ │ ├── static/ # 静态资源(CSS/JS) │ └── templates/ # 模板文件(Thymeleaf/FreeMarker) └── test/ # 单元测试目录
2. 核心配置
- 配置文件:
application.yml
或application.properties
,支持多环境配置(dev/test/prod) - 统一返回格式:封装
Result
对象,包含状态码、消息、数据字段 - 全局异常处理:通过
@ControllerAdvice
拦截异常并返回标准错误响应
二、进阶模板功能
1. 安全与权限
- 认证框架:整合 Sa-Token 或 Spring Security,实现 JWT 鉴权
- 权限管理:通过注解
@PreAuthorize
或自定义拦截器实现角色/权限控制 - Redis 整合:存储会话信息或权限数据,提升系统性能
2. 数据持久化
- ORM 框架:整合 MyBatis-Plus(自动生成 CRUD 代码)或 Spring Data JPA
- 数据库配置:
spring: datasource: url: jdbc:mysql://localhost:3306/db_name driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 123456 type: com.alibaba.druid.pool.DruidDataSource # 使用 Druid 连接池
3. 工具类整合
- Hutool 工具包:提供加密、日期处理等常用功能
- 本地缓存:整合 Caffeine 缓存高频访问数据
- 文件操作:支持 Excel/PDF 导出(EasyExcel、iText)
三、企业级模板扩展
1. 分布式架构支持
- 服务监控:Spring Boot Admin 监控应用健康状态
- 任务调度:整合 XXL-JOB 或 PowerJob 实现分布式定时任务
- 消息队列:通过 RabbitMQ 或 Kafka 解耦异步处理
2. 第三方服务集成
- 对象存储:支持阿里云 OSS、腾讯云 COS 或 MinIO
- 验证码服务:整合短信/邮件验证码发送功能
- Elasticsearch:实现全文检索和日志分析
四、快速开始示例
-
生成基础项目
访问 Spring Initializr,选择依赖后下载模板。 -
添加核心依赖(以 Maven 为例):
<!-- Web 支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- MyBatis-Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3</version> </dependency>
-
编写启动类:
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
五、模板推荐
- 基础模板:适合快速开发小型应用,包含核心 Web 功能和基础配置。
- 前后端分离模板:整合 Swagger/Knife4j 生成 API 文档,提供统一跨域配置。
- 微服务模板:集成 Spring Cloud Alibaba,包含注册中心、配置中心等模块。
如需完整代码示例,可参考 SpringBoot 初始化模板 - SegmentFault 或 优快云 博客模板。