Java 企业级开发教程

JavaSE 之后的第二层:从 Maven、HTTP 和数据库出发,进入 Servlet、Spring、MVC、Boot、持久化、安全、测试与部署。

Java Web、Java EE、Jakarta EE 与 Spring 生态

知识点:区分 JavaSE、Java Web、Java EE / Jakarta EE 与 Spring 生态的边界;理解 javax → jakarta 的历史变化及 Servlet、Validation、Persistence 等规范的位置;理解 Spring Framework、Spring MVC、Spring Boot 之间的层次关系;明确本课程目标:构建可上线、可测试、可维护的企业级单体后端

Maven 是什么:为什么学 Spring 前先学 Maven

知识点:理解构建、依赖管理、编译、测试、打包的统一工程问题;理解 groupId、artifactId、version 构成 Maven 坐标;知道 Spring、MyBatis 等第三方框架如何通过 Maven 进入 classpath

Web、B/S、C/S 与前后端分离

知识点:区分客户端、浏览器、前端、后端、服务器、API;理解 Request / Response 模型和 HTTP 无状态特征;认识 SPA + REST API 的现代 Web 应用形态

为什么 HTTP 之后先学数据库

知识点:理解后端系统的核心闭环:接收请求 → 处理业务 → 持久化数据 → 返回响应;理解数据库不是 Spring 的附属品,而是业务状态的主要持久化载体;明确本组只建立企业开发必需数据库基础,MySQL 深度原理另设专题

Web Server、Servlet Container 与 Tomcat

知识点:区分 Nginx、Tomcat 与 Java Web 应用的职责;理解 Connector、Servlet Container、Context Path;理解传统外置 Tomcat 与 Spring Boot 内嵌 Tomcat

JUnit 5 与测试分层

知识点:区分单元测试、集成测试、E2E;掌握断言、AAA、参数化测试基础

企业级后端完整技术地图

知识点:建立 Browser/Vue → HTTP → Tomcat → Spring MVC → Service → Persistence → Database 的主链;理解认证、事务、缓存、日志、测试、文件、定时任务等横切能力;认识单体、模块化单体和微服务的边界,本课程只做到可靠企业单体

pom.xml、Dependency 与 Repository

知识点:掌握 POM 基本结构、dependency 声明和本地/远程/中央仓库;理解传递依赖、依赖冲突与 exclusions;掌握 compile、runtime、test、provided 等常见 scope

Servlet 接口与生命周期

知识点:理解 Servlet、GenericServlet、HttpServlet;掌握 init、service、doGet/doPost、destroy;理解 Servlet 单实例、多线程请求模型

Starter 与依赖管理

知识点:理解 starter 的场景化依赖集合;理解 starter-web 与 Spring MVC/Tomcat 的关系

SecurityFilterChain 请求链

知识点:理解 DelegatingFilterProxy、FilterChainProxy、SecurityFilterChain;理解安全链位于 DispatcherServlet 之前

一次请求贯穿整个 Java 后端

知识点:从 HTTP Request 到 HTTP Response 追踪完整生命周期;定位 Filter、DispatcherServlet、Controller、Service、Mapper、Database 的职责;理解 DTO、Entity/PO、VO、Result 在请求与响应链中的数据流

Maven 生命周期、Phase、Goal 与 Plugin

知识点:理解 clean、default、site 生命周期;掌握 compile、test、package、verify、install、deploy 等阶段;理解 plugin / goal 与生命周期绑定关系

HTTP 请求与响应报文

知识点:掌握 Request Line / Status Line、Header、Body;能使用浏览器 DevTools 查看真实 HTTP 报文;理解 HTTP 与 HTTPS/TLS 的边界

DDL、DML、DQL 与 DCL

知识点:掌握 CREATE/ALTER/DROP 基础;掌握 INSERT/UPDATE/DELETE;掌握 SELECT 及基本 WHERE/ORDER BY/LIMIT;认识用户、权限与 GRANT/REVOKE 的基本作用

HttpServletRequest

知识点:读取 Method、URI、Header、Parameter、Body;理解 Request Attribute 与 Request Scope;认识输入流、客户端地址与 Session 信息

DI:依赖注入

知识点:掌握构造器、Setter、字段注入;理解按类型注入、@Qualifier、@Primary;理解为什么现代 Spring 更推荐构造器注入

@SpringBootApplication

知识点:拆解 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan;理解启动类包位置的影响

事务失效场景

知识点:理解 self-invocation、异常被吞、非代理调用;理解异步线程与事务上下文不自动传播

Maven 标准目录与 IDEA 工程

知识点:理解 src/main/java、src/main/resources、src/test/java、target;理解 resources 如何进入 classpath;掌握 IDEA 中 Maven 刷新、依赖查看和常见构建故障定位

HTTP Method、幂等性与资源语义

知识点:掌握 GET、POST、PUT、PATCH、DELETE 常见语义;理解 safe 与 idempotent;能根据业务设计合理的 Method,而不是机械 CRUD

约束、数据类型与表设计

知识点:理解 PRIMARY KEY、UNIQUE、NOT NULL、DEFAULT、CHECK、FOREIGN KEY;掌握常见数值、字符串、日期时间、JSON 类型选择;理解数据库约束作为数据正确性的最后防线

HttpServletResponse

知识点:设置 Status、Header、Content-Type;输出文本、JSON、字节数据;理解响应提交与字符编码

Bean 注册与组件扫描

知识点:掌握 @Component、@Service、@Repository、@Controller;理解 @ComponentScan、Bean Name 与扫描范围

Controller 与请求映射注解

知识点:掌握 @Controller、@RestController、@RequestMapping;掌握 @GetMapping、@PostMapping、@PutMapping、@DeleteMapping

自动配置原理

知识点:理解 @Conditional 条件装配;理解 AutoConfiguration 如何根据 classpath、Bean、配置属性生效

文件上传下载与对象存储

知识点:掌握 MultipartFile、Content-Disposition;理解 OSS/MinIO Bucket/Object、私有文件访问;认识 MIME/魔数/内容检测

HTTP 状态码与业务错误码

知识点:掌握 2xx、3xx、4xx、5xx 分类及常见状态码;区分 HTTP 状态码和业务 code;理解 401、403、404、409、500 的典型业务语义

BeanFactory、ApplicationContext 与容器

知识点:理解 BeanFactory 与 ApplicationContext 的层次关系;理解 getBean、资源、事件等容器能力;知道业务代码为什么不应该到处手工查容器

API 幂等与重复请求

知识点:理解 Idempotency-Key、唯一键和业务状态判断;能设计重复下单/重复支付防护

JWT Access Token

知识点:理解 Header、Payload、Signature;完成签发、校验、过期与 Bearer Token 请求链

索引、EXPLAIN 与 SQL 性能基础

知识点:理解索引解决什么问题和索引并非越多越好;认识 B+Tree 索引、联合索引、最左匹配的基本思想;会使用 EXPLAIN 做最基础执行计划观察

Cookie 与 Session

知识点:理解 HTTP 无状态为什么需要会话;理解 Cookie、Session、SessionId 的协作;认识登录态、过期、退出与 Session 安全

Bean Scope 与生命周期

知识点:掌握 singleton、prototype 及 Web Scope 基础;理解实例化 → 注入 → 初始化 → 销毁;认识 @PostConstruct、@PreDestroy

Refresh Token、轮换与撤销

知识点:理解短期 Access + 长期 Refresh;理解 HttpOnly/Secure/SameSite;认识 rotation、reuse detection 与 revoke

Spring Task 与 @Async

知识点:掌握 @Scheduled、Cron;理解 @Async、线程池和异步边界;认识多实例定时任务问题作为微服务课程桥梁

Maven 多模块、插件与 Git 协作

知识点:理解 parent/modules、dependencyManagement、pluginManagement;认识 Surefire/Failsafe;掌握 Git/PR/Code Review 与构建流程接口

Query、Path、Form、JSON 与 REST 接口契约

知识点:理解 Query Parameter、Path Variable、Form、JSON Body、Multipart File;理解 JSON 序列化 / 反序列化;建立 Path + Method + Parameters + Response 的 API 契约意识

GitHub Actions 与 CI

知识点:理解 checkout、setup-java、Maven cache、mvn verify;理解在 CI 中启动 MySQL/Redis 等依赖和构建门禁

循环依赖与三级缓存

知识点:理解什么是循环依赖及哪些循环依赖能/不能解决;认识 singletonObjects、earlySingletonObjects、singletonFactories;理解三级缓存与代理对象提前暴露的关系

Apache POI、邮件短信与效率工具

知识点:认识 Excel 导入导出对象模型;理解邮件、短信、支付等第三方集成模式;合理使用 Lombok、MapStruct 等工具而不掩盖基础原理

JAR、Linux、systemd 与 Nginx 部署

知识点:掌握 mvn package、java -jar、Profile/环境变量;理解 systemd 管理 Java 服务;理解 Nginx 静态资源、反向代理、HTTPS 的生产访问链

AOP、动态代理与自定义注解

知识点:理解 Aspect、Pointcut、Advice、JoinPoint;区分 JDK Dynamic Proxy 与 CGLIB;使用 @Aspect、@Around、自定义注解完成日志/审计/公共字段等横切逻辑

Flyway 与 JPA/Hibernate 补充路线

知识点:掌握 Flyway 版本化 migration、validate、baseline 的基本思想;理解 ORM、JPA、Hibernate、Spring Data JPA 的关系;能解释 MyBatis 与 JPA 的选型差异