分析前后端开源项目(狂神说)

2024-03-27 18:58
文章标签 分析 项目 开源 狂神

本文主要是介绍分析前后端开源项目(狂神说),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

B站狂神说:https://space.bilibili.com/95256449

1.如何分析开源项目

学习的方式:

​ 1. 不知道这个代码怎么来的

​ 2. 这个代码跑不起来

​ 3. 这个项目对我们有什么帮助,不会模块化分析

任何一个开源项目,都可以让自己等到提升

代码自动生成:我们平时会写很多业务代码,用Mybatis Plus去生成的,第三方的工具包去生成
开源项目:eladmin

项目简介

一个基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统

开发文档: https://el-admin.vip
体验地址: https://el-admin.xin
账号密码: admin / 123456

项目源码
后端源码前端源码
githubhttps://github.com/elunez/eladminhttps://github.com/elunez/eladmin-web
码云https://gitee.com/elunez/eladminhttps://gitee.com/elunez/eladmin-web

2.观察开源项目

后端:

在这里插入图片描述

前端:

在这里插入图片描述

3.开源项目下载

在这里插入图片描述

在码云下载,因为GitHub下载太慢了,下载完毕进行解压
解压完不要着急运行

先去观察项目:

  • ​ 1、用了哪些技术(Springboot、Vue、Redis、MQ…)
  • ​ 2、是否有数据库
  • ​ 3、你的环境是否匹配(Maven、(npm、node.js)、redis…)
    ​ 需要的环境匹配了再想办法运行

4.跑起来是第一步

​ 1、安装数据库,执行SQL(先创建数据库,编码默认utf8)

​ 2、前端跑起来(在文件上全选文件名然后cmd)
在这里插入图片描述

​ 3、后端项目导入跑起来(打开idea——import)

在这里插入图片描述

​ 4、等待所以的项目跑成功

img

img

在这里插入图片描述

​ 5、启动后端项目(一般前后端分离项目,前端依赖于后端)

​ 只要发现Swagger,就需要先把swagger跑起来,因为前后端分离的接口全部都在这里

进而查看配置文件,默认端口号,有哪些配置,需要改为自己的项目和环境地址!(尤其是端口号和用户名密码)

​ 前端:就是安装依赖。启动测试运行,看接口是否异常

在这里插入图片描述

打开Redis(用到了)

在这里插入图片描述

开发环境重点需要去看端口号:server:port:8000(在总文件application.yml里面)前端也是调这个端口

第二个点需要去看Redis的端口号

开发环境dev.yml的JDBC没有问题

在这里插入图片描述

跑起来

在这里插入图片描述

进入页面:localhost://8000/swagger-ui.html

前端跑起来:(推荐VS Code打开文件夹)我们用的是WebStorm

在这里插入图片描述

在这里插入图片描述

5.前后端分离项目固定套路

1、从前端开始分拆,打开控制台,点一个接口,分析一波调用关系

2、前后端端口调用不一致:前端:8013 后端:8000;研究怎么操作的

在这里插入图片描述

  • 封装了接口请求 ajax(前后端分离) axios(Vue) request(前端封装)
  • 找到配置(生产配置、开发环境配置)

在这里插入图片描述

  • 前后端分离项目的重点:找到接口的调用关系
  • Springboot提供服务、前端调用接口数据、Vue负责渲染页面

在这里插入图片描述

  • 前端项目固定套路

在这里插入图片描述

在这里插入图片描述

通过抓取前端的请求,找到后端对应的接口

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

怎么去跟后端对接:

拿到接口的地址:

在这里插入图片描述

去后端找:

在这里插入图片描述

  • 后端分析套路:Controller–Service–Dao
  • 现在从前到后知道怎么分析了,但是如何渲染到视图上的呢?看前端

在这里插入图片描述

  • Vue标准套路

在这里插入图片描述

template:视图层
script:js操作,接口的调用
style:页面的样式

  • 如果你现在自己的项目或者要学习一个模块,将这个模块独立抽取出来即可,删除法
  • 比如需要学习用户模块,除了了user模块

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如果你想测试这个接口成不成功,在这里测一下,能不能把他查出来就行了

6.如何找到一个开源项目

  • layui
  • Semantic UI
  • Grabient
  • Vue Element Admin

1、找分类(Java、python)
2、看收藏(star),大家都觉得不错的,就是比较好的,有学习的价值
3、看具有价值
4、根据自身的理解情况:Java、SSM、Springboot…阶段性成果、
5、如何学习Java:Java进阶路线七个阶段

后端开发去写前端非常难看,可以使用第三方的:Ant Design Pro 或 Element
在这里插入图片描述

在这里插入图片描述

这篇关于分析前后端开源项目(狂神说)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853072

相关文章

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO