novel:一套能从零学到上线的 Java 小说项目
novel:一套能从零学到上线的 Java 小说项目
学 Java 的人最头疼的事,是找不到一个能完整跑通的项目来练手。书本上教的是语法,公司里用的是框架,中间隔着一条很难跨过去的河。novel 这个项目想解决的就是这件事,它是一套基于 Spring Boot 3 + Vue 3 的前后端分离小说系统,配套保姆级教程,把从零开发到上线生产的全过程都走一遍。
GitHub 上目前 5746 个 star,作者维护了好几年,仍在持续更新。

项目本身是什么
novel 是一个小说门户系统,包含小说推荐、作品检索、排行榜、阅读、评论、会员中心、作家专区、充值订阅、新闻发布等功能模块。整套系统拆成几个子系统:小说门户、作家后台、平台后台。功能不算少,但作者在 README 里说得很直白,重点是堆技术不是堆功能,重复的增删改查故意砍掉了,留的是有代表性的部分。
技术栈挑得很新。后端 Spring Boot 3.3.0,已经接入 Spring AI 1.0.0-M6,JDK 用到 21,MyBatis-Plus、Redisson、ShardingSphere-JDBC、Elasticsearch 8.2、RabbitMQ、XXL-JOB、Sentinel 这些都集成了。前端是 Vue 3.2.13 + Vue Router 4 + element-plus 2.2 + axios。版本都拉到当前最新可用版本,目的是让学的人能直接接触到主流技术而不是几年前的旧货。
Elasticsearch、RabbitMQ、XXL-JOB 默认是关的,通过 application.yml 里的 enable 配置开关。这点比较体贴,不想一上来就让新人配一堆中间件。
包结构清晰是它的卖点
README 里专门贴了一张包结构图。io.github.xxyopen.novel 下面分 core、dto、dao、manager、service、controller 几层,controller 又按 front、author、admin、app、applet、open 拆开。分层标准到这种程度,对学习者来说省事很多,照着包名就能定位到想看的代码。
代码规约遵循阿里规约,命名见名知意,注释完整,依赖统一。这种说辞很多项目都会写,但 novel 把包结构图直接画进 README,算是一种自证。

谁适合用
作者自己列了几个判断条件。如果你没有项目经验,想学如何从零开发上线一个生产级别 Java 项目,或者有经验但公司技术栈太落后想学主流新技术,这个项目合适。
反过来,不懂 Java、只想搭个小说网站用、或者要找完整商用项目花时间学方方面面的人,作者建议去看 novel-plus。这种主动劝退的写法反而显得诚恳,知道自己项目适合谁不适合谁。
novel 和 novel-cloud 是姊妹项目,单体和微服务两个版本,对应两种架构学习路径。novel-plus 是更早的线上应用版,功能更多但代码规范不如学习版。
一些提醒
环境依赖不少。MySQL 8.0、Redis 7.0、JDK 21、Maven 3.8、Node 16.14 是必装项,可选的还有 IDEA。教程地址在 README 里挂着,从安装步骤到联系作者都有入口。
如果要拿来学,建议先把基础功能跑通再考虑开 ES 和 RabbitMQ。一上来全开容易卡在配环境上,反而看不到项目本身的结构。
整体来看,novel 不算那种让人惊艳的项目,它的价值在于编排得当。技术选型、包结构、教程节奏都是为「学」服务的,不是为「炫」服务的。5746 个 star 里,绝大多数应该是从基础转向实战的 Java 学习者给的。
46 个 star 里,绝大多数应该是从基础转向实战的 Java 学习者给的。
更多推荐


所有评论(0)