一、Spring / Spring Boot 基础核心(必须精通)
1️⃣ IOC / DI(依赖注入)
必须掌握:
@Component / @Service / @Repository / @Controller@Autowired / @Resource / @Qualifier- Bean 作用域:
singletonprototype
- Bean 生命周期:
@PostConstruct@PreDestroyInitializingBeanDisposableBean
- 手动注册 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@EnableAutoConfigurationMETA-INF/spring.factories@ConditionalOnXXX@ConditionalOnClass@ConditionalOnMissingBean
👉 能做到:
解释 Spring Boot 为什么"零配置就能跑";
看懂自己引入的 starter 到底干嘛。
4️⃣ 配置体系
必须掌握:
application.yml/application.properties- 多环境:
application-dev.ymlapplication-prod.yml
@ConfigurationProperties+@EnableConfigurationProperties@Value注入配置- 隐私配置:
- mysql 账号密码
- redis 密码
👉 能做到:
YML 分环境;
统一管理系统自定义配置参数。
5️⃣ 日志体系
必须掌握:
SLF4JLogback- 日志级别:
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
必须掌握:
MapperXml语句@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️⃣ 微服务