✨ 想快速搭建 Spring Boot 后端,却不知从何入手?✨ 本篇博客将手把手教你搭建一个完整的 Spring Boot 3.x 后端!从 项目初始化 到 数据库配置,再到 Spring Security + JWT认证,循序渐进,适合新手入门。还包含 项目结构解析 和 核心代码示例,助你轻松上手,快速构建安全高效的后端服务!🚀
概述
WiseLearn 是一个智能学习系统,使用 Spring Boot 3.x 作为后端框架,MySQL 作为数据库,并集成了 Spring Security 和 JWT 进行安全认证。
项目初始化可通过 Spring Initializr 并按以下配置进行:
项目配置:
- Project: Maven
- Language: Java
- Spring Boot: 3.3.9
- Group: com.wiselearn
- Artifact: wiselearn
- Name: wiselearn
- Description: WiseLearn Intelligent Learning System
- Package name: com.wiselearn
- Packaging: Jar
- Java: 17
依赖项选择:
- Spring Web
- Spring Data JPA
- MySQL Driver
- Spring Security
- Lombok
- Spring Boot DevTools
- Validation
- Spring Configuration Processor
点击 GENERATE 按钮。
- GENERATE 会直接下载项目的zip文件到你的电脑,你可以解压后放到你的WISELEARN目录中
- EXPLORE 只是在浏览器中预览项目结构,虽然也可以查看生成的代码,但最终还是需要下载
具体步骤:
点击 GENERATE 按钮,会下载一个名为 wiselearn-server.zip 的文件,将这个zip文件解压到你的WISELEARN目录中的后端目录
技术栈
- Spring Boot 3.3.9
- MySQL 8.0
- Spring Security
- JWT
- JPA
- Lombok
- Maven
因为使用的是Next.js 15.1.4作为前端,前后端是分离的架构,Spring Boot 3.x系列都需要Java 17+,所以选择 Spring Boot 3.3.9
项目结构检查完成,一切看起来都很正常!我们有:
✅ 正确的目录结构
✅ 所有必要的依赖都已配置在pom.xml中:
- Spring Web
- Spring Data JPA
- Spring Security
- MySQL Driver
- Lombok
- Validation
- DevTools
- Configuration Processor
接下来我们需要:
创建基础包结构
配置application.properties(数据库连接等)
创建基础的安全配置
首先让我们在src/main/java下创建必要的包结构。
我们需要创建以下基础包结构:
1 | config - 配置类 |
让我们创建这些目录:
1 | cd wiselearn-server/src/main/java/com/wiselearn |
项目结构
1 | wiselearn-server/ |
搭建步骤
1. 创建项目
使用 Spring Initializr 创建项目,并配置必要的依赖。
我们可以创建一些基础类来自动创建这些目录。首先,让我们创建主应用类:
java:wiselearn-server/src/main/java/com/wiselearn/WiselearnServerApplication.java
1 | package com.wiselearn; |
现在让我们创建一些基础类来建立目录结构:
- 配置类:
java:wiselearn-server/src/main/java/com/wiselearn/config/WebConfig.java
1 | package com.wiselearn.config; |
- 基础实体类:
java:wiselearn-server/src/main/java/com/wiselearn/model/entity/BaseEntity.java
1 | package com.wiselearn.model.entity; |
- 全局异常处理:
java:wiselearn-server/src/main/java/com/wiselearn/exception/GlobalExceptionHandler.java
1 | package com.wiselearn.exception; |
现在我们已经创建了基本的包结构和一些基础类。目录结构如下:
1 | src/main/java/com/wiselearn/ |
这些基础类提供了:
- 跨域配置(WebConfig)
- 实体类的基础属性(BaseEntity)
- 全局异常处理(GlobalExceptionHandler)
接下来我们需要:
- 配置application.properties(数据库连接等)
- 创建用户相关的实体类和接口
- 配置Spring Security
按照以下顺序进行:
1.先配置 application.properties(数据库连接等)
- 这是最基础的配置
- 没有这个配置,后面的实体类无法正确连接数据库
- 包括数据库连接、JPA配置、服务器端口等
2.然后创建用户相关的实体类和接口
- 因为Spring Security的配置需要依赖用户实体和用户服务
- 包括User实体类、UserRepository、UserService等
3.最后配置 Spring Security
- 这部分依赖于前面的用户实体和服务
- 包括认证、授权、密码加密等配置
2. 配置数据库连接
在 application.properties
中添加数据库连接信息:
1 | spring.datasource.url=jdbc:mysql://localhost:3306/wiselearn?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=UTC |
3. 创建基础实体类
数据库配置已经更新完成。现在让我们开始创建用户相关的实体类和接口。我们需要创建以下文件:
- 用户实体类(User.java)
- 用户角色枚举(UserRole.java)
- 用户仓库接口(UserRepository.java)
- 用户服务接口和实现(UserService.java 和 UserServiceImpl.java)
用户角色枚举:
1 | public enum UserRole { |
基础实体类:
1 |
|
用户实体类:
1 |
|
我们已经创建了用户相关的所有基础类:
- User实体类:包含用户的基本信息字段
- UserRole枚举:定义了用户角色(学生、教师、管理员)
- UserRepository:数据访问层接口
- UserService:服务层接口
- UserServiceImpl:服务层实现类
4. 创建数据访问层
接下来我们需要配置Spring Security。这将包括:
安全配置类
JWT工具类
认证过滤器
用户详情服务
UserRepository.java
1 |
|
5. 配置 Spring Security
JWT 工具类(JwtTokenUtil.java):
1 |
|
安全配置(SecurityConfig.java):
1 |
|
6. 认证功能
登录请求 DTO(LoginRequest.java):
1 |
|
认证服务(AuthService.java):
1 |
|
认证控制器(AuthController.java):
1 |
|
API 端点
POST /api/auth/login
- 用户登录POST /api/auth/register
- 用户注册
注意事项
- 确保 MySQL 运行并配置正确的数据库连接
- 服务器端口冲突时可调整
server.port
- 结合 Spring Security 进行权限管理
- 确保 JWT 配置正确并安全存储密钥
-------------本文结束感谢您的阅读-------------
本文链接: http://example.com/2025/03/10/关于-Spring-Boot-的后端搭建教程/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!