一、项目速览

入门 · 1 分钟版

novel-plus 是一个基于 Spring Boot 的原创小说 CMS 系统,包含前台门户、作家后台、平台管理后台和爬虫四个子系统,覆盖小说阅读、检索、书架、评论、会员、充值订阅等完整业务流程。

novel-plus 前台门户示意

面向想搭建自己小说站点的开发者,技术上整合了 Spring Boot、MyBatis、PageHelper 等主流 Java 栈,最近几个版本还接入了 Spring AI 支持 AI 写作。从仓库近 5k Star 和持续维护来看,是 Java 圈小说类项目里最成熟的一套。

一句话判断:如果你想用 Java 搭一个真正能跑起来、能爬书、能运营的小说站,novel-plus 是目前最省事的选择。

二、核心功能与架构

进阶 · 推荐细读

整体结构采用多模块 Maven 工程,父工程下挂四个子模块:novel-common 公共代码、novel-front 前台门户+作家后台、novel-admin 平台管理后台、novel-crawl 爬虫系统,前后端没有强行拆微服务,对单机部署友好。

小说阅读主链路:解决「读者从找书到看书全流程」问题——首页推荐、分类检索、排行榜定位,详情页支持多套前端模板和阅读主题切换;适合做内容站运营的个人或小团队。

作家专区+会员体系:解决「内容生产与变现」问题——作者可在线发布章节,平台接入 VIP 订阅和充值卡,配套统计报表看章节订阅和打赏数据;适合想跑通付费阅读闭环的站长。

爬虫子系统:解决「冷启动没书」问题——内置多爬虫源,支持配置规则自动抓取并入库更新,可独立部署、定时跑任务;适合不想手动搬书的运营人员。

novel-plus 平台管理后台

AI 写作与生图:解决「作者卡文、缺封面」问题——基于 Spring AI 接入 DeepSeek-R1 蒸馏版和快手 Kolors 模型,可在后台一键生成章节续写和封面图;适合个人作者和效率优先的运营方。

作者视角:从模块划分能看出,作者对「运营」场景理解很深——后台的统计报表、订阅、作家等级、新闻发布都是真运营才会用到的功能,不是 demo 级玩具。

三、动手实践

入门

环境准备(JDK 8+、Maven 3.6+、MySQL 5.7+、Node 可选):

# 1. 克隆仓库
git clone https://github.com/201206030/novel-plus.git
cd novel-plus

# 2. 初始化数据库
mysql -uroot -p < novel-common/src/main/resources/sql/novel_plus.sql

# 3. 修改各模块 application.yml 中的 datasource
#    主要改 url / username / password 三个字段

最小可运行示例——只跑前台门户,验证能打开首页:

# 在 novel-front 模块下启动
cd novel-front
mvn spring-boot:run

# 浏览器访问 http://localhost:8080
# 应能看到带小说推荐、排行榜的前台首页

踩坑 1:启动报 Communications link failure,八成是 MySQL 账号密码或时区没配对,yml 里加上 &serverTimezone=Asia/Shanghai 一般就解决。

踩坑 2:访问首页空白或资源 404,是 templates 模板没编译进 target,把 mvn clean package 跑一遍再启动;JDK 17 用户记得在父 pom 里把编译版本降到 8。

四、进阶玩法

深入 · 老手可选

接 AI 写作是该项目最值得玩的一环。在 novel-front 的 yaml 里加一段配置,注册硅基流动拿到 API Key 就能用:

spring:
  ai:
    openai:
      api-key: sk-your-siliconflow-key
      base-url: https://api.siliconflow.cn
      chat:
        options:
          model: deepseek-ai/DeepSeek-R1-0528-Qwen3-8B
      image:
        enabled: true
        options:
          model: Kwai-Kolors/Kolors
          response_format: URL

作者视角:硅基流动送的免费额度足够个人站长试水,但生产环境记得把 Key 抽到环境变量,别直接提交到仓库——这种「AI 集成」最容易在 code review 里被同事抓包。

自定义爬虫源:复制 novel-crawl 里的 RuleBean 配置类,按目标站点的 HTML 结构补 XPath/正则,就能加新书源;跑定时任务用项目自带的 xxl-job 调度,零额外搭建。

novel-plus 爬虫管理

多模板切换:把做好的前端主题丢到 templates 目录,数据库 book_index_template 表里改一下模板名,刷新即生效——比从头改 Thymeleaf 路径省心。

五、判断与建议

进阶

该选它的场景:你是 Java 开发者,想搭一个内容齐全、能直接运营的小说站;或者你想研究一个中等复杂度的多模块 Spring Boot 项目,里面整合了 AI、爬虫、付费、统计这些真实业务模块。

不该选它的场景:只是想自己看几本小说——直接装个阅读 App 就行;需要高并发微服务架构——它的姊妹项目 novel-cloud 才是 Spring Cloud 版,单体版硬扛大流量会吃力。

结论:作为「学习 + 落地」双修项目,novel-plus 在 Java 开源小说系统里几乎是标杆;但如果你的目标是做阅读产品而非练手工程,建议先评估自己愿不愿意长期维护一个内容站。

项目信息

项目
仓库 201206030/novel-plus
语言 Java
Star 4,656
Fork 1,502
主页 https://novel.xxyopen.com

参考链接