1. 项目背景与核心需求
作为一个长期泡在豆瓣和IMDb的老影迷,我经常遇到一个尴尬:想给朋友推荐电影时,发现豆瓣评分和IMDb评分差距巨大,而两个平台的评论风格也截然不同。这让我萌生了开发一个整合型书影音评分平台的想法——既能保留专业影评人的深度分析,又能容纳普通观众的直观感受。
这个Spring Boot书影音评分网站的核心需求可以拆解为三个维度:
-
多媒介整合:支持书籍、电影、音乐三种媒介类型的评分与评论,每种类型有独立的评分维度和展示界面。比如电影需要"剧情""演技""特效"等细分项,而书籍则更关注"文笔""思想性""翻译质量"。
-
混合评分系统:
- 专业评分(权重30%):邀请行业KOL、媒体人入驻
- 大众评分(权重70%):普通用户评分
- 动态加权算法:新上映作品大众评分权重更高,经典作品专业评分权重提升
-
社交化功能:
- 个人收藏夹与年度榜单
- "同好匹配"算法:根据评分相似度推荐好友
- 争议作品预警系统:当评分标准差超过阈值时触发
提示:毕设项目选择这个方向时,建议先聚焦核心评分功能,社交模块可作为二期开发。我的毕业答辩就因为过早引入推荐算法导致DEMO不稳定,最后不得不临时砍掉这部分演示。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 为什么选择Spring Boot
在技术选型阶段,我对比过三种方案:
- 传统SSM框架:配置复杂,依赖注入需要大量XML
- Play Framework:异步性能好但国内生态弱
- Spring Boot:约定优于配置,起步依赖简化构建
最终选择Spring Boot 2.7.x版本(现在建议用3.0+)基于以下考量:
- 内嵌Tomcat:简化部署,
mvn spring-boot:run即可启动 - Starter依赖:通过
spring-boot-starter-data-jpa等组件快速集成 - Actuator监控:毕设演示时可以用
/actuator/health展示系统状态 - Profile机制:用
application-dev.yml和application-prod.yml区分环境配置
2.2 分层架构实现
项目采用经典三层架构,但做了些针对性优化:
java复制com.example.mediaplatform
├── config # 自定义配置类
│ ├── RedisConfig.java # 缓存配置
│ └── SecurityConfig.java # 安全配置
├── controller # 表现层
│ ├── api # RESTful API
│ └── web # 传统MVC
├── service # 业务逻辑层
│ ├─
