开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情
引言
最近听歌发现全是要VIP会员,就让我很难受,于是我想用爬虫批量爬取一部分音乐来听,但是存储到本地,也有一些缺点。
缺点如下:
- 占用大量存储空间,由服务器为什么不用服务器呢?
- 界面不友好,挺起歌来不舒服
- 打开选取功能不尽人意,不是很舒服
- ...
结合上述缺点,准备自己着手搭建一个简单的小型音乐播放器。
技术栈选取: 前端:
- vite (众所周知vite不论是在冷启动中还是在热更新还是在打包处理的时间上对比WebPack都有一定的优势)
- Vue3 (用过Vue3之后还是觉得Vue3更顺手一点)
- TypeScript(相较于js个人更喜欢更严格,健壮性更强的ts)
- Pinia(相较于VueX,pinia更好入手)
后端:
- springboot(简化开发者的福音)
- springcloud+nacos(虽然这个是个很小的项目,并没什么必要拆成微服务,但是因为最近在学微服务,服务治理方面的知识,所以使用了nacos)
- MySQL
开始创建我们的后端项目吧
首先我们打开我们的idea(这里使用的是专业版2022)
然后选择Maven项目
然后点击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
我们选择创建一个模块
然后选择Spring Initializr的选项
然后可以去勾选自己需要的依赖
或者创建完成之后选择自己手动的引入依赖。
接下来就可以在创建的这个模块中去开发啦
这就是我们创建的一个微服务了,我们可以在子pom.xml中引入我们开发所需要的依赖。