搭建一个手机版的小型音乐播放器(基于springboot+springcloud+Nacos完成项目的创建)

1,632 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

引言

最近听歌发现全是要VIP会员,就让我很难受,于是我想用爬虫批量爬取一部分音乐来听,但是存储到本地,也有一些缺点。

缺点如下:

  • 占用大量存储空间,由服务器为什么不用服务器呢?
  • 界面不友好,挺起歌来不舒服
  • 打开选取功能不尽人意,不是很舒服
  • ...

结合上述缺点,准备自己着手搭建一个简单的小型音乐播放器。

技术栈选取: 前端:

  • vite (众所周知vite不论是在冷启动中还是在热更新还是在打包处理的时间上对比WebPack都有一定的优势)
  • Vue3 (用过Vue3之后还是觉得Vue3更顺手一点)
  • TypeScript(相较于js个人更喜欢更严格,健壮性更强的ts)
  • Pinia(相较于VueX,pinia更好入手)

后端:

  • springboot(简化开发者的福音)
  • springcloud+nacos(虽然这个是个很小的项目,并没什么必要拆成微服务,但是因为最近在学微服务,服务治理方面的知识,所以使用了nacos)
  • MySQL

开始创建我们的后端项目吧

首先我们打开我们的idea(这里使用的是专业版2022)

image.png

然后选择Maven项目

image.png

然后点击create

接下来修改我们的pom.xml文件

这里可以参考我的配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.example</groupId>
        <artifactId>Android-music-cloudServer</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <groupId>com.example</groupId>
    <artifactId>music-send</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>music-send</name>
    <description>music-send</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>

        <!--springboot一定要改为springboot的web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--引入nacos服务发现依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!--引入nacos配置依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

        <!--引入feign依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

        <!--引入sentinel依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.7.0</version>
        </dependency>

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.7.0</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.28</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <packaging>jar</packaging>

</project>

注意!!!!像parent内的artifactId这些的要修改成自己的

而这个下面的artifactId则是接下来创建的一个微服务的artifactId

我们选择创建一个模块

image.png

image.png

然后选择Spring Initializr的选项

然后可以去勾选自己需要的依赖

或者创建完成之后选择自己手动的引入依赖。

接下来就可以在创建的这个模块中去开发啦

这就是我们创建的一个微服务了,我们可以在子pom.xml中引入我们开发所需要的依赖。