基于Spring Boot的“课程设计”的设计与实现
这是一个集电影,音乐和书籍于一体的Java web应用
Java 1.8
框架:使用Spring Boot 集成Spring,Spring MVC,MyBatis(前期),Spring Data(后期)
数据库:MySQL 5.6
缓存:Redis 4.0
版本控制:Maven 3.5
页面解析框架:Thymeleaf
负载均衡:Nginx - 端口80
服务器:Tomcat 端口8080和8181(可以使用单个tomcat)
PS:音乐来源-网易云;电影来源-豆瓣、猫眼;书籍来源-豆瓣
==================================================
项目结构
com.wsk.movie aspect:切面应用 bean:回显的实体类 celebrity:json影人条目信息 maoyan:猫眼 cinema:json单个电影院信息 cinemas:json多个电影院信息 movie:json电影信息 config:spring启动加载配置 controller:链接控制 webSocket:websocket相关配置和实现 dao:Mybatis接口 error:自定义异常处理 music:网易云音乐 bean:网易云音乐json解析类 entity:数据库实体类 service:操作数据库 thread:线程相关 pojo:电影相关的数据库实体 redis:redis操作类 impl:接口的实现 service:电影相关的服务操作 impl:接口的实现 session:session存活时间配置 springdata:网易云音乐spring data操作 entity:网易云音乐的数据库实体类 task:自定义的定时器 entity:数据库实体类 runnable:任务 service:数据库相关操作 tool:工具类 token:token生成器 tool:工具类 bean:百度图片识别json结果 write:文件读写操作 resources mapping:mybatis相关的xml文件 static:静态资源文件 css:样式 image:本地图片 js:JAVASCRIPT templates:页面 forget:忘记密码 hot:热门电影 information:个人相关信息详情 movie:电影相关信息 registered:注册 setting:设置12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
1. 系统结构
2. 业务流程
客户端
管理员
4. 数据库
(1) 数据库表汇总
数据库表汇总
名称表名注释管理员操作记录表adminaction记录管理员操作管理员信息表admininformation记录管理员信息书籍表book记录书籍、图书户收藏表collectioncritic记录用户收藏的信息说说评论表commentcritic记录说说的评论举报信息表critic_report记录举报信息点赞信息表goodcritic记录说说的点赞情况积分来源表integralsource记录积分的来源通讯信息表message记录用户之间的通讯电影名称表moviename记录电影名好友表myfriends记录用户之间的好友关系任务表mytask记录后台定时任务任务错误信息表mytaskerror记录后台任务错误信息任务日志表mytasklog记录后台任务运行情况说说表publishcritic记录用户发布的说说用户信息表userinformation记录用户的信息用户信誉积分表userintegral记录用户的信誉积分用户等级表userlevel记录用户的等级用户密码表userpassword记录用户的密码用户二维码表userqrcode记录用户的二维码音乐专辑表wangyialbum记录音乐专辑音乐信息表wangyimusic记录音乐信息音乐歌手表wangyisinger记录歌手信息
5. 部分流程图
5.1 用户登录
5.2 发表说说
5.3 欣赏电影,聆听音乐,阅读书籍
5.4 用户信息互动
5.5 管理管理用户,说说和举报审核
6 具体实现细节
6.1 项目技术架构
6.2 登录界面的实现
6.3 首页的实现
图17 首页界面
6.4 热门说说
图18 热门说说
6.5 用户之间的通讯
图19 用户通讯
6.6 用户个人中心设置
图20 个人设置中心
6.7 个人主页
图21 个人界面
6.8 我的说说,评论,收藏,点赞
图22我的说说
图23 我的评论
图24 我的收藏
图25 我的点赞
6.9 说说评论
图26 评论界面
6.10 搜索
图27 搜索
图28 电影搜索结果
图29 电影详情
图30 音乐搜索
图31 图书搜索
6.11 音乐系统
图32 热门音乐
6.12 图书系统
图33 图书推荐
图34 图书详细信息
6.13 查看正在上映的电影
图35 热映电影详情
图36 热映电影评论
7 备注
下载地址:https://download.csdn.net/download/wsk1103/10484796
github地址:https://github.com/wsk1103/movie-boot
首次启动项目
win系统安装Java 1.8 , IDEA软件,MySQL数据库,redis,Nginx。
打开MySQL,执行sql文件,将数据导入到MySQL中。
将项目导入到IDEA中,构建为MAVEN项目。
配置Nginx文件,使其负载均衡。
待项目构建完成后,运行redis和Nginx(或者跳过Nginx)。
修改resource文件中的application.properties,配置其中的数据库信息
修改com.wsk.movie.email.Send文件中的用户账号和密码信息。
由于使用了百度提供的图片识别功能,所以需要修改com.wsk.movie.tool.AuthService中百度提供的clientId和clientSecret(或者直接注释掉该类)
将image.rar文件解压到D:/image,这个文件是存放图片和敏感词的重要文件。
运行com.wsk.movie.MovieApplication的main方法。
访问localhost
欢迎加入Java高级架构学习交流群:375989619
本群提供免费的学习指导 架构资料 以及免费的解答
不懂得问题都可以在本群提出来 之后还会有职业生涯规划以及面试指导 进群修改群备注:开发年限-地区-经验 方便架构师解答问题
免费领取架构师全套视频!!!!!!!!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java虚拟机的Heap监狱
在Java虚拟机中,我是一个位高权重的大管家,他们都很怕我,尤其是那些Java 对象,我把他们圈到一个叫做Heap的“监狱”里,严格管理,生杀大权尽在掌握。 中国人把Stack翻译成“栈”,把Heap翻译成“堆”, 还有人会把Stack翻译成“堆栈”,唉,真不知道他们是怎么想的, 不过这么多年都过来了,你们明白就好。 碰巧我会对Heap中的Java 对象做垃圾回收,这个“堆”总是让我联想到垃圾堆。 说起垃圾回收,这实在是一个大负担,原因很简单,那些写Java程序的人类只管把对象给new出来,扔到Heap 中, 但是从来不管把他delete 掉, 删掉这些对象的责任就落到了我的头上,我不严格管理怎么行? 有时候我挺羡慕C和C++, 必须得手动地分配和释放内存,出了错都是程序员来背锅。 在我这里,如果任由这些对象对象肆意妄为,我那容量不高的,Java虚拟机启动后就无法更改的Heap“监狱”很快就会被填满, 所以我必须得派出我的得力助手,专门找到并且清理那些不用的Java 对象, 把他们占据的空间给释放掉。 为了找到这些捣乱分子,我发明了一个叫做“可达性分析”的算法,这个算法估计大部分人已经...
- 下一篇
Java并发整理
读Java并发专题总结 一. 基础知识 新建线程 继承Thread类,重写run方法 实现Runable接口 实现Callable接口 线程状态 NEW/Runable/BLOCKED/TIMED _WAITING/WAITING/TERMINATED 调用wait()、join()、LockSupport.lock()方法, 线程会进入到WAITING状态 调用带超时时间的wait(long timeout)、sleep(long)、join(long)、LockSupport.parkNanos()、LockSupport.parkUtil()方法, 线程会进入到TIMED_WAITING状态 调用Object.notify()、Object.notifyAll()方法使线程转换到Runable状态 进入synchronized方法或者synchronized代码块时,线程切换BLOCKED状态 与WAITING状态相关联的是等待队列,与BLOCKED状态相关的是同步队列 线程协作 join()、join(long millis) : 一个线程等待另一个线程结束 sleep()与w...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境