springboot_02

实战篇 01:实战概述

  • 概览本阶段目标:快速搭建后端 + 前端环境,并规划后端注册/登录/用户详情模块

  • 明确将通过 Spring Boot + MyBatis 实现注册、登录、JWT 验证,以及用户详情获取等功能

  • 前端对应 Vue3 + axios、Element‑Plus 实现页面与后端联调

实战篇 02:开发模式和环境搭建

  • 后端:
  • 创建 Spring Boot 项目,集成 MyBatis、Lombok、H2/MySQL 驱动

  • 配置 application.yml(数据库、端口、日志等)

  • 前端:
  • 使用 Vite 创建 Vue3 项目,安装 Element‑Plus、axios、vue-router、pinia

  • 设置目录结构、环境变量与跨域代理

实战篇 03:注册接口

  • 后端:
  • 定义 User 实体与 MyBatis 映射

  • 编写 UserMapper.insert + Service 层方法 register(User)

  • 在Controller增加 /api/register POST 接口,返回统一格式结果

  • 异常处理:捕获插入失败、用户名重复

实战篇 04:注册接口参数校验

  • 引入 spring-boot-starter-validation

  • @Validated + @NotBlank, @Size, @Email 等注解在 DTO 上校验

  • 在 Controller 方法参数上使用 @Valid

  • 捕获 MethodArgumentNotValidException,并统一返回格式化报错信息

实战篇 05:登录主逻辑

  • 定义 LoginDTO(username, password)

  • Service 层实现 login(LoginDTO),查询数据库并比对密码

  • 简单的明文验证或使用 BCrypt,成功则返回 User 对象

实战篇 06:登录认证引入

  • 在 Controller 调用登录逻辑后,返回 LoginResponseDTO

  • 引入全局统一返回模型,包含 code, message, data

实战篇 07:JWT 令牌

  • 后端引入 jjwt 依赖,设置签名密钥

  • JWT 工具类生成 Token,包含 userId, username,设置过期时间

  • 登录接口返回 JWT

实战篇 08:登录认证 完成

  • 后端:
  • 配置 Spring Security 或自定义 JWT 拦截器

  • 拦截器从请求头获取 JWT,验证有效性,解析用户信息,存入 SecurityContext 或 ThreadLocal

  • 确保后续请求携带 JWT 可访问受保护接口

实战篇 09:获取用户详细信息

  • 后端接口 /api/user/info:
  • 从上下文获取当前用户 ID

  • 查询数据库获取完整 User 信息(含昵称、头像、权限等)

  • 返回到前端

实战篇 10:获取用户详细信息 + ThreadLocal 优化

  • 改进 JWTInterceptor:
  • 验证完 Token 后,解析用户信息存入 ThreadLocal

  • 提供工具类从 ThreadLocal 读取当前用户数据,避免重复查询

  • 在接口结束后通过拦截器清理 ThreadLocal,防止内存泄漏

相关推荐
用户3721574261357 小时前
Java 操作 Word 脚注和尾注:添加、读取与删除
java
AI入职记7 小时前
AI 代码审查召回率实测:20 个骗过单元测试的变异体,抓到 13 个
后端
浮链序7 小时前
别让 AI 客服把用户当猴耍:百来行 Python 把「转人工」做成一条高可用链路
后端
属于自己的天空7 小时前
Claude Code 插件完全指南:官方市场怎么用,怎么自己写(v2.1.269+)
后端
Tokenfree7 小时前
给大模型调用加一个熔断器:60 行代码,三个阈值
后端
Jason_chen7 小时前
Linux 进程调度器深入解析与实时性优化指南(基于 Linux 5.10+)
后端
136096757237 小时前
三个 Agent 干同一个活,职责边界到底该怎么划
后端
小嘉丶学长7 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
房西杭7 小时前
GM 指令:修改玩家属性
后端
字节探索7 小时前
Spring Boot 接口幂等性设计:从唯一索引到 Redis+Lua 的工程实践
java·spring boot