后端Spring Boot 核心知识点


一、Spring / Spring Boot 基础核心(必须精通)

1️⃣ IOC / DI(依赖注入)

必须掌握:

  • @Component / @Service / @Repository / @Controller
  • @Autowired / @Resource / @Qualifier
  • Bean 作用域:
    • singleton
    • prototype
  • Bean 生命周期:
    • @PostConstruct
    • @PreDestroy
    • InitializingBean
    • DisposableBean
  • 手动注册 Bean:
    • @Bean

👉 能做到:

知道什么时候该用 Service、什么时候用 Component;

会解释 Bean 是如何被 Spring 管理的。


2️⃣ AOP(切面编程)

必须掌握:

  • AOP 作用:日志 / 权限 / 事务 / 监控
  • 核心概念:
    • 通知(before/after/around)
    • 切点 Pointcut
    • 连接点 JoinPoint
  • 核心注解:
    • @Aspect
    • @Pointcut
    • @Before
    • @After
    • @Around
  • 执行顺序与影响

👉 能做到:

写一个全局日志切面;

写一个接口耗时监控切面;

理解"为什么 @Transactional 依赖 AOP"。


3️⃣ Spring Boot 自动装配原理

必须掌握:

  • starter是什么,为什么叫"约定优于配置"
  • spring.factories / spring-autoconfigure-metadata
  • @EnableAutoConfiguration
  • META-INF/spring.factories
  • @ConditionalOnXXX
    • @ConditionalOnClass
    • @ConditionalOnMissingBean

👉 能做到:

解释 Spring Boot 为什么"零配置就能跑";

看懂自己引入的 starter 到底干嘛。


4️⃣ 配置体系

必须掌握:

  • application.yml / application.properties
  • 多环境:
    • application-dev.yml
    • application-prod.yml
  • @ConfigurationProperties + @EnableConfigurationProperties
  • @Value 注入配置
  • 隐私配置:
    • mysql 账号密码
    • redis 密码

👉 能做到:

YML 分环境;

统一管理系统自定义配置参数。


5️⃣ 日志体系

必须掌握:

  • SLF4J
  • Logback
  • 日志级别:
    • trace/debug/info/warn/error
  • 按文件输出:
    • logs/app.log
  • 按天切割日志

👉 能做到:

生产环境日志不会乱;

知道日志该写什么。



二、Web 开发能力

1️⃣ REST API

必须掌握:

  • @RestController
  • @RequestMapping
  • @GetMapping / PostMapping / Put / Delete
  • 参数绑定:
    • @RequestParam
    • @PathVariable
    • @RequestBody
  • 返回统一结果:
    • 统一包装 Result
    • 统一返回码

👉 你必须能写出:

完整 RESTful 标准接口

并且能设计接口规范。


2️⃣ 全局异常处理

必须掌握:

  • @ControllerAdvice
  • @ExceptionHandler
  • 常见异常:
    • 业务异常
    • 参数异常
    • 运行异常
  • 统一返回 JSON 错误格式

👉 能做到:

不让异常堆栈直接返回给前端;

有统一异常格式。


3️⃣ 过滤器 / 拦截器

必须掌握:

  • 过滤器:
    • Filter
  • 拦截器:
    • HandlerInterceptor
  • 用途:
    • 登录校验
    • 权限校验
    • 请求日志

👉 你必须能写出:

登录验证拦截器;

接口日志拦截器。



三、数据库与持久层

1️⃣ MyBatis / MyBatis-Plus

必须掌握:

  • Mapper
  • Xml 语句
  • @Select / @Update / @Delete
  • 分页
  • 条件构造器
  • 动态 SQL
  • Wrapper
  • Service 层结构

👉 你必须做到:

会写 CRUD

会写多表 join 查询

会分页

会复杂条件查询。


2️⃣ 事务

必须掌握:

  • @Transactional
  • 回滚机制
  • 传播行为(了解)
  • 异常导致事务失效场景:
    • 私有方法
    • 自调用
    • 非运行时异常

👉 你必须知道:

什么时候加事务;

怎么保证业务一致性。


3️⃣ 数据库连接池

必须掌握:

  • HikariCP
  • 连接池超时设置
  • 最大连接数


四、企业级常用功能

1️⃣ 权限安全(Spring Security / JWT)

必须掌握:

  • 登录流程
  • Token 认证
  • Session vs JWT
  • 用户角色
  • 权限拦截
  • 资源权限

👉 你必须能实现:

登录 + 鉴权

简单角色权限控制。


2️⃣ Redis

必须掌握:

  • 作为缓存
  • 存 token
  • 存验证码
  • 作为限流
  • Spring Boot RedisTemplate

3️⃣ 定时任务

必须掌握:

  • @Scheduled
  • corn 表达式
  • Quartz(进阶)

4️⃣ 文件系统

必须掌握:

  • Multipart 上传
  • 本地存储
  • MinIO / OSS(学习方向)


五、系统集成能力

必须掌握:

1️⃣ HTTP 调用

  • RestTemplate
  • WebClient
  • Feign

2️⃣ 接口文档

必须掌握:

  • Swagger
  • Knife4j
  • OpenAPI3

👉 你必须做到:

写接口别人能直接用。


3️⃣ 跨域 CORS

必须掌握:

  • 浏览器同源原理
  • Spring Boot 跨域配置
  • Nginx 跨域


六、监控与部署

必须掌握:

1️⃣ Actuator

  • /actuator/health
  • /metrics

2️⃣ 性能优化

  • SQL 慢查询
  • 索引
  • 连接池
  • GC 概念

3️⃣ 部署

你要会:

  • 打 jar 部署
  • Linux 基本操作
  • systemctl 管理
  • Nginx 反向代理
  • Docker(推荐)


七、扩展与进阶

如果你未来走企业开发:

  • Spring Cloud(微服务)
  • Nacos
  • Eureka
  • Gateway
  • OpenFeign
  • Seata
  • Sleuth + Zipkin

推荐学习顺序

我建议你按这个顺序:

1️⃣ Spring 基础 + IOC + AOP

2️⃣ Spring Boot 配置 / 自动装配

3️⃣ Web + REST + 全局异常

4️⃣ MyBatis-Plus + 事务 + 分页

5️⃣ Redis + 登录认证 + 权限

6️⃣ Swagger + 定时任务 + 文件上传

7️⃣ 部署 + 优化

8️⃣ 微服务

相关推荐
VX:Fegn08955 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
徐徐同学6 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
Mr.朱鹏7 小时前
Nginx路由转发案例实战
java·运维·spring boot·nginx·spring·intellij-idea·jetty
VX:Fegn08958 小时前
计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
vue.js·spring boot·课程设计
白露与泡影8 小时前
2026版Java架构师面试题及答案整理汇总
java·开发语言
历程里程碑8 小时前
滑动窗口---- 无重复字符的最长子串
java·数据结构·c++·python·算法·leetcode·django
qq_229058019 小时前
docker中检测进程的内存使用量
java·docker·容器
我真的是大笨蛋9 小时前
InnoDB行级锁解析
java·数据库·sql·mysql·性能优化·数据库开发
钦拆大仁9 小时前
Java设计模式-单例模式
java·单例模式·设计模式
小手cool9 小时前
在保持数组中对应元素(包括负数和正数)各自组内顺序不变的情况下,交换数组中对应的负数和正数元素
java