信19与电10
China Computer&Communication 较件看茨与惑用
2020年第22期
基于Spring微服务架构的音乐点播平台的设计与实现
贾坤儒严张凌
(四川大学锦城学院,四川成都611731)
摘要:为了实现对云端音乐的管理与可视化,满足更多用户的需求,本文构建了一个基于Spring Boot的音乐点播系统,系统为B/S架构,采用SpringBoot框架搭建后端微服务实例,使得系统能够拥有良好的稳定性、高效性和实时性,也使得管理员对系统的管理变得更加简便-程序部署在阿里云端,方便用户远程访问.
关键词:Spring Boot框架;Spring MVC;音乐点播系统
中图分类号:TP311.56;TP316文献标识码:A文章编号:1003-9767(2020)22-105-02
Design and Implementation of Music on Demand Platform Based on Spring
Microservice Architecture
JIA Kunru,YAN Zhangling
(Jincheng College of Sichuan University,Chengdu Sichuan611731,China)
Abstract:In order to realize the management and visualization of cloud music and meet the needs of more users,this paper constructs a music on demand system based on spring boot.The system is B/S architecture,and uses the spring boot framework to build a back-end micro service instance,which makes the system have good stabil让*efficiency and real-time,and also makes the administrator's management of the system easier.The program is deployed in Alibaba cloud,which is convenient for users to access remotely.
Keywords:Spring Boot framework;Spring MVC;music on demand system
0引言
随着计算机技术的快速发展,音乐不再局限于磁带与唱片,各种智能产品相继出现,能够更好地满足人
们听音乐的需求。目前,国内的音乐平台全部拥有很多功能,随意选择一个平台进行使用,首先要做不是播放其中的音乐,而是学习如何使用这个平台,如果功能太多便不利于操作。为了提升音乐平台的纯净感,为广大音乐爱好者提供一个高效、稳定、干净的音乐播放环境,本文借助当前流行的Spring MVC 框架技术,提出并实现了音乐播放平台设计与开发技术方案。
1系统关键技术
1.1Spring Boot微服务架构
Spring Boot微服务实际上是大量开源库的集合,自配 Tomcat、Jetty容器,不需要部署WAR包,只需要在l 中写好相关依赖,减少了系统开发的步骤。SpringBoot框架下有着完善的MVC设计模型支持,对于项目的配置工作采用自动化配置的方式,使得在SpringBoot环境下进行MVC 模式开发变得尤为简单Spring微服务管理范围主要分为三层,即API接口层、业务逻辑层以及数据持久层。
1.2云服务器
登录阿里云并申请账号,就可以拥有自己的云主机,并且进行安全规则等部署。通过Putty等工具连接阿里云与服务器,完成相关配置后,将打包好的.jar文件上传并运行,即可在浏览器中连接公网IP,访问部署好的项目。java spring框架搭建
2系统总体设计
本系统主要面向中老年体,总体任务是实现音乐点播平台的纯净化、高效化、实时化。系统后端包括API接口、数据库操作模块等。用户在本系统可以进行上传音乐、下载音乐、搜索音乐以及在线播放等操作。与此同时,本系统还
作者简介:贾坤儒(2000-),男,四川绵阳人。研究方向:移动应用开发。
严张凌(1980-),男,四川成都人,硕士研究生,副教授。研究方向:移动互联网应用、人工智能应用。
信18与电
16China  Computer  & Communication 软件打茨与龛用2020年第22期
要做到界面简洁、操作简便等,以保证用户能够获得较好的 使用体验。本系统收录的每一首音乐都需要有完整的信息,包 括歌曲名、歌手、收录日期、发行日期、音乐时长、封 面图片、作曲人、作词人和歌词等。对于上传音乐功能, 需要绑定身份证,确定版权后再上传完整的音乐信息; 对于音乐下载功能,如果有要求可以设为付费模式,否 则默认均为免费下载。播放一首歌曲时,界面上可根据 个人喜好开启或关闭评论弹幕,同时也可以自己发布评 论,采用弹幕的方式是为了使听歌者能实时发表自己的 看法。登录注册功能是为了方便对使用客户进行管理,也能 存储用户的搜索记录,进行大数据分析,方
便为每一位用户 推荐其可能会喜爱的音乐。3系统总体实现本系统为B/S 架构,采用Spring  Boot 框架搭建后端微服 务实例,程序部署在阿里云端,方便用户和管理员远程访问。第一步需要创建3个模型类,分别是音乐模型类、用户
模型类以及评论模型类。对于音乐模型类,需要先创建一个 Music 类,并定义一系列需求中的私有变量,譬如音乐唯一 识别码(ID)、歌曲名、歌手名、作词人、作曲人、音乐收 录日期、音乐发行日期、音乐时长、音乐歌词、音乐音质、 对应封面图片、对应URL 和评论等。然后使用软件自带功能, 自动生成 Get 、Set 、hashcode > equals, toString  方法。对于 用户模型类,需要创建一个User 类,同样定义私有变量,如 用户唯一识别码、用户名、用户密码、用户电话、用户性别、 用户生日等,并自动生成Get 、Set 、hashcode 、equals 以及 toString 方法。这两个类最后必须加上”@Id ”注解来声明此 实体类的属性映射为数据库的主键列。对于评论模型类,需 要定义私有变量,如评论者、评论内容和评论时间等,同样 自动生成 Get 、Set 、hashcode 、equals  以及 toString  方法, 但不用添加“@id ”注解。第二步需要列出所有的API 接口及对应的HTTP 方法□ 一是搜索功能,搜索歌曲名、歌手、作词人、作曲人、获取 未屏蔽评论都使用GET 方法;二是删除音乐和评论,使用 DELETE 方法;三是更新音乐,使用PUT 方法;新增音乐和 评论,使用POST 方法。第三步需要先搭建三大结构的框架,由于音乐和用户分 别需要搭建不同的框架,但其原理相同,这里只分析如何搭 建音乐部分。首先编写音乐的数据持久层,创建一个MusicRepository  类,因为还需要一个数据库,就选用MongoDB,所以还需
要添加MongoDB 的依赖,添加好后,先让MusicRepository  继承 MongoRepository ,再添加一个"@Repository"注解, 让这个java 类纳入Spring 管理范围。到这一步,数据持久层 的框架就搭好了,如果有有额外需求再添加代码,比如要查 某个歌手的所有歌,则需要定义一个泛型为Music 类的列 表类型方法 ”findBySinger()”。然后编写音乐业务逻辑层,创建一个MusicService 类, 并在最外面添加一个"@Service"的注解,让这个java 类纳
入Spring 管理范围,因为业务逻辑层需要和数据库连接,所 以在类里需要添加一个“@Autowired ”注解,来注入数据持 久层的MusicRepository 类,并声明一个类的变量repo 。到 这里,就搭建好音乐业务逻辑层的框架。接着编写API 接口层,先创建一个MusicController 类, 在最夕卜面添加一""@RestController"注解,让这个java 类 纳入Spring 管理范围,并且添加一个"@RequestMapping" 注解,为下面的java 方法定义一个统一的访问URL 。“@ RequestMapping"后有小括号,其括号里就是自定义的 URL,这里定义为“/music ”。因为API 接口层需要和业务 逻辑层连接,所以在类里需要添加一个“@Autowired ”注解, 来注入业务逻辑层的MusicService 类,并声明一个类的变
量 service □最后就是编写API 接口以及对应业务逻辑层。数据库本
身包含一些基本的方法,但如果有需要自定义的方法,数据 持久层也要再进行编写,本文就只叙述一个API 接口的实现 流程。首先在MusicService 类里定义一个List 类,其泛型是 Music 类的方法"getAllMusi
c 。",并且在方法里直接返回 一个“repo.findAllO ”,也就是返回数据库里查到的所有 音乐列表。然后在MusicController 类里定义一个List 类,其 泛型是Music 类的方法"getAllMusic()",在方法里直接返 回一个AHMusic()",也就是返回数据库里查 到的所有音乐列表。最后是在MusicController 类里的这个方 法外添加"@GetMapping"注解,这个注解也是用来定义方 法访问URL 的,因为需要实现的功能是查所有的音乐, 所以在此使用的是"@GetMapping 注解",后面如有需要也 可以添加子URL 。4结语随着时代的发展,用户的个人需求总是在发生变化。但
对于一些希望能纯粹听音乐的中老年用户,大多数音乐平台 并不能满足需求,因此有必要设计一个操作简便的音乐平台。 笔者设计本系统的初衷便是希望提供一个更加纯粹的音乐播 放平台,希望这个平台能够满足中老年人的需求。同时, 年轻用户仍需要更新鲜的功能,比如对一首歌进行评论,而
国内大多数评论模块是用一个界面专门放置用户评论,甚至 还可以对评论本身进行回复,从而经常会出现粉丝与黑粉相 互争吵的现象,并且没有办法屏蔽或删除,这对于本系统的
目标客户会有很大的影响。所以本系统采用弹幕机制,每个 人都可以匿名发言,有利于净化网络空间,但弹幕的反馈机 制还有待完善。参考文献[1]杜英魁,王杨,关屏,等.基于Spring  Boot 的云 端数据监控儈理与可视化应用系统[J].计算机系统应用, 2020,29(5):123-127.