novel-plus 课程大纲
本文最后更新于11 天前,其中的信息可能已经过时,如有错误请发送邮件到kirasu@qq.com

novel-plus 课程大纲(30 节课)

面向有 Java 基础、目标是能二次开发的学员。基础 + 项目循序渐进:先打牢环境与数据访问,再进框架与安全,最后业务实战、进阶与部署。
每节课 = 主题 + 核心知识点。表中「参考」列指向 doc/ 下三份文档对应章节,学习时可跳转查阅细节。

结构总览

部分 课时 主题
一、基础与工程准备 L1-L5 项目全景、Java 21、Maven、Lombok、MySQL
二、数据访问层 L6-L10 MySQL、MyBatis、动态 SQL、分页、分表
三、Spring Boot 框架层 L11-L15 自动装配、Web、分层、模板、配置
四、安全与认证 L16-L18 JWT、Spring Security、Shiro/RBAC
五、核心业务实战 L19-L24 登录、阅读、缓存、爬虫、创作、支付
六、进阶机制 L25-L27 Spring AI、异步定时、设计模式/AOP
七、部署与综合实战 L28-L30 测试调试、Docker/CI、结课实战

一、基础与工程准备

第 1 课 课程导论 + 项目全景

核心知识点:novel-plus 是多端小说 CMS,由 novel-front(前台+作家后台,8083)、novel-crawl(爬虫,8081)、novel-admin(管理后台,80)、novel-common(通用) 四模块组成;技术栈全景与本课程路线。
参考:doc/novel-plus-tutorial.md 第 1 章

第 2 课 Java 21 新特性速览

核心知识点:本项目用到的 Java 21 特性——record(精简实体)、sealed class、switch 增强、文本块、虚拟线程(了解);与旧版本差异。
参考:doc/tech-stack-learning-roadmap.md 2.1 节

第 3 课 Maven 多模块工程

核心知识点:父 pom.xml 的 modules 聚合、dependencyManagement 依赖管理;各子模块职责;阿里镜像与 mirrorOf 拦截坑(pom 顶部注释)。
参考:doc/tech-stack-learning-roadmap.md 2.2 节

第 4 课 Lombok + 开发环境搭建

核心知识点:Lombok 常用注解(@Data/@Slf4j/@Builder)简化 entity;IDEA 装 JDK21 + Maven + Lombok 插件;Git 工作流。
参考:doc/tech-stack-learning-roadmap.md 2.3 节

第 5 课 MySQL 环境 + 数据库初始化

核心知识点:导入 doc/sql/novel_plus.sql 初始化 novel_plus 库;认识核心业务表(book、book_content、user、author、pay 等)与增量脚本。
参考:doc/novel-plus-tutorial.md 2.2、3 章


二、数据访问层

第 6 课 MySQL 核心

核心知识点:表设计范式、索引(唯一/联合)、事务 ACID 与隔离级别;对照本项目的表结构理解字段设计。
参考:doc/novel-plus-tutorial.md 第 3 章

第 7 课 MyBatis 基础

核心知识点:XML 映射(resultMap、select/insert/update/delete)、#{} 与 ${}、动态 SQL(if/where/foreach)。
参考:doc/tech-stack-learning-roadmap.md 3.2 节

第 8 课 MyBatis Dynamic SQL + PageHelper

核心知识点:MyBatis Dynamic SQL 的 Query DSL 写法;PageHelper 分页用法与原理(ThreadLocal + 拦截器)。
参考:doc/novel-plus-source-study.md 阶段 2;doc/tech-stack-learning-roadmap.md 3.2 节

第 9 课 ShardingSphere-JDBC 分表

核心知识点:config/shardingsphere-jdbc.yml 的规则——book_content 按 index_id % 10 拆 10 张表;INLINE 分片算法、路由原理;sql-show 观察。
参考:doc/novel-plus-tutorial.md 9.6 节;doc/tech-stack-learning-roadmap.md 3.3 节

第 10 课 数据层综合实战

核心知识点:以一条真实查询为例,串联「实体(novel-common/entity) → Mapper 动态 SQL → PageHelper 分页 → 分表路由」完整链路。
参考:doc/novel-plus-source-study.md 阶段 2


三、Spring Boot 框架层

第 11 课 Spring Boot 核心

核心知识点:自动装配原理(@EnableAutoConfiguration、starter)、启动类、@ConfigurationProperties 配置绑定。
参考:doc/tech-stack-learning-roadmap.md 4.1 节

第 12 课 Spring Web

核心知识点:@RestController、请求参数绑定(@PathVariable/@RequestParam/@RequestBody)、全局异常 @ControllerAdvice、跨域。
参考:doc/novel-plus-source-study.md 阶段 1

第 13 课 分层架构与请求链路

核心知识点:以首页 PageController 为例,走通「过滤器 → Controller → Service → Mapper → VO → 模板」完整请求链路;分层职责与依赖方向。
参考:doc/novel-plus-source-study.md 阶段 1-2

第 14 课 Thymeleaf + Layui 模板渲染

核心知识点:Thymeleaf 表达式与 th:* 标签;Layui 表格/表单;多模版与主题切换机制(templates 目录)。
参考:doc/novel-plus-tutorial.md 8 章

第 15 课 配置文件体系

核心知识点:application.yml 主配置 + application-{dev,website,alipay,oss,prod}.yml 多环境 profile;自定义配置项读取;日志配置。
参考:doc/novel-plus-tutorial.md 10 章


四、安全与认证

第 16 课 前台 JWT 认证

核心知识点:JWT 结构(header/payload/signature)、JJWT 生成与校验、登录流程、Token 校验拦截器。
参考:doc/novel-plus-source-study.md 阶段 3 场景 1;doc/tech-stack-learning-roadmap.md 4.3 节

第 17 课 Spring Security 入门

核心知识点:过滤器链、认证/授权模型;本项目的 novel-crawl/.../core/config/SecurityConfiguration.java 是怎么用的。
参考:doc/tech-stack-learning-roadmap.md 4.2 节

第 18 课 Shiro + RBAC 权限

核心知识点:Shiro 三大核心(Subject/SecurityManager/Realm);管理后台菜单-角色-用户 RBAC 模型;DataPermInterceptor 数据权限过滤。
参考:doc/novel-plus-source-study.md 阶段 3 场景 6


五、核心业务实战

第 19 课 注册登录 + 会员业务

核心知识点:注册校验、密码加密、登录签发 JWT、会员信息缓存与查询完整流程。
参考:doc/novel-plus-tutorial.md 9.1 节

第 20 课 小说阅读链路 + 存储策略模式

核心知识点:书源/章节/内容读取流程;DbBookContentServiceImpl 与 FileBookContentServiceImpl 的 DB/TXT 双存储策略切换。
参考:doc/novel-plus-source-study.md 阶段 3 场景 2;doc/novel-plus-tutorial.md 9.2 节

第 21 课 缓存体系(Redis/Redisson)

核心知识点:缓存 key 设计、读多写少场景缓存、缓存失效/更新策略;Redisson 分布式锁与 admin 会话共享。
参考:doc/novel-plus-source-study.md 阶段 3 场景 3

第 22 课 爬虫子系统

核心知识点:novel-crawl 规则引擎(RuleBean、CrawlParser、PatternFactory)、采集任务调度、去重与入库;免责声明提醒(仅供学习)。
参考:doc/novel-plus-tutorial.md 9.3 节;doc/tech-stack-learning-roadmap.md 7.3 节

第 23 课 作家创作 + 章节发布 + 稿费计算

核心知识点:作家入驻、创建作品、章节发布事务;作者分成与稿费计算逻辑(application.yml 中的分成/定价配置)。
参考:doc/novel-plus-tutorial.md 9.4 节

第 24 课 支付宝支付 + 订阅充值

核心知识点:alipay-sdk-java 下单、回调验签、订单状态流转、订阅模式(PayController/相关 Service)。
参考:doc/tech-stack-learning-roadmap.md 7.4 节


六、进阶机制

第 25 课 Spring AI 写作

核心知识点:Spring AI 1.0 客户端配置(硅基流动 key、OpenAI 兼容接口);AI 扩写/续写/润色/封面生成如何接入编辑器。
参考:doc/novel-plus-tutorial.md 9.5 节;doc/AI功能无反应诊断.md(排障)

第 26 课 异步与定时任务

核心知识点:core/config/ThreadPoolConfig.java 线程池、@Async 异步方法;core/schedule/ 下 3 个定时任务(收入统计、图片搬运);CompletableFuture 并行加载。
参考:doc/novel-plus-source-study.md 阶段 1、3 场景 3;doc/tech-stack-learning-roadmap.md 7.1 节

第 27 课 设计模式与 AOP

核心知识点:项目中用到的策略/模板方法模式;AOP 切面 LogAspect(操作日志)、DataPermInterceptor(数据权限)的原理。
参考:doc/novel-plus-source-study.md 阶段 3 场景 6


七、部署与综合实战

第 28 课 测试与调试

核心知识点:单元测试(spring-boot-starter-test)、接口测试方法;日志分级与排障思路(对照 AI功能无反应诊断.md 的根因定位法)。
参考:doc/AI功能无反应诊断.md

第 29 课 Docker + CI/CD 部署

核心知识点:Maven 打包三个 JAR、Dockerfile 与镜像(JDK21 基础镜像)、docker-compose 编排 MySQL/Redis/应用;GitHub Actions 自动化。
参考:doc/novel-plus-tutorial.md 11 章;doc/tech-stack-learning-roadmap.md 5 章

第 30 课 结课综合实战

核心知识点:把全部知识串起来做一次二次开发——选一个真实需求(如给书加字段/加推荐接口/改分成规则),从数据库、Mapper、Service、Controller、模板到部署全链路完成。
参考:doc/novel-plus-source-study.md 二次开发备忘、学习验证清单


使用建议

  • 前置:先跑通项目(教程第 2 章),再按本大纲逐课推进;第 10、13、30 课是三层「综合课」,务必动手。
  • 节奏:每周 8 小时约 3-5 课,可 8-10 周学完;基础部分(第一部分)可结合自身基础加速跳过。
  • 验证:每课结束用「我能动手做什么」自测(如学完 L8 就写一个带分页的查询),做不出来回头重读对应参考章节。
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇