【狂神說】分析前后端分離開源項目?

文章目錄

    • 1.如何分析開源項目
        • 項目簡介
        • 項目源碼
    • 2.觀察開源項目
    • 3.開源項目下載
    • 4.跑起來是第一步
    • 5.前后端分離項目固定套路
    • 6.如何找到一個開源項目

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、等待所以的項目跑成功

在這里插入圖片描述

6、啟動后端項目(一般前后端分離項目,前端依賴于后端)

只要發現Swagger,就需要先把swagger跑起來,因為前后端分離的接口全部都在這里

進而查看配置文件,默認端口號,有哪些配置,需要改為自己的項目和環境地址!

(尤其是端口號和用戶名密碼)

前端:就是安裝依賴。啟動測試運行,看接口是否異常
在這里插入圖片描述

打開Redis

在這里插入圖片描述

開發環境重點需要去看端口號:server:port:8000(在總文件application.yml里面)前端也是調這個端口

第二個點需要去看Redis的端口號

開發環境dev.yml的JDBC沒有問題
在這里插入圖片描述

跑起來

在這里插入圖片描述

進入頁面:localhost://8000/swagger-ui.html

前端跑起來:(推薦VS Code打開文件夾)

在這里插入圖片描述

在這里插入圖片描述

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.pswp.cn/news/450812.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450812.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450812.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計公共API的六個注意事項

摘要:俗話說:“好東西就要貢獻出來和大家一起分享”,尤其是在互聯網業務高度發達的今天,如果你的創業公司提供了一項很酷的技術或者服務,并且其他用戶也非常喜歡該產品,在這種情況下,最好的解決…

go 交叉編譯

golang中windows交叉編譯 env GOOSlinux GOARCHamd64 go build .打包鏡像 FROM alpineMAINTAINER "congge"ADD ./casino_niuniu /usr/local/casino_niuniu/bin/casino_niuniu ADD ./templates /usr/loca/lcasino_niuniu/bin/templates ADD ./public /usr/local/casin…

IntelliJ Idea 2017 免費激活方法

見:https://www.cnblogs.com/suiyueqiannian/p/6754091.html 1. 到網站 http://idea.lanyus.com/ 獲取注冊碼。 2.填入下面的license server: http://intellij.mandroid.cn/   http://idea.imsxm.com/   http://idea.iteblog.com/key.php 以上方法驗證均可以

P3193 [HNOI2008]GT考試

傳送門 容易看出是道DP 考慮一位一位填數字 設 f [ i ] [ j ] 表示填到第 i 位,在不吉利串上匹配到第 j 位時不出現不吉利數字的方案數 設 g [ i ] [ j ] 表示不吉利串匹配到第 i 位,再添加一個數字,使串匹配到第 j 位的方案數 那么方程顯然為…

LeetCode刷題攻略

目錄 一、LeetCode簡介 二、刷leetcode的主要目的 三、常用的數據結構 四、常用的算法思想 五、選擇算法題 1、刷題選擇 2、刷題方法 方法一:順序法 方法二:標簽法 方法三:隨機法 方法四:必殺法 六、刷題攻略 TIP 1&…

SQLserver數據庫反編譯生成Hibernate實體類和映射文件

一、建立項目和sqlserver數據庫 eclipse,我使用的版本是neon3 二、Data Source Explorer 選擇OK 在data source Explorer的Database Connections 選擇New 填寫好General的連接信息 新建New Driver Definition 填寫完選擇OK 選擇剛才的Drivers Test Connetion測試 N…

最受歡迎的5大Linux發行版

摘要:要統計有多少人在使用那款Linux發行版幾乎是不可能的事情,但我們可以使用一些在線分析工具來大概地看看哪些Linux發行版更受歡迎。 Google Trends的數據顯示,Ubuntu用戶正在流向Mint,但依然在各方面都比其它Linux發行版更有優…

C#動態操作DataTable(新增行、列、查詢行、列等)

public void CreateTable(){//創建表DataTable dt new DataTable();//1、添加列dt.Columns.Add("Name", typeof(string)); //數據類型為 文本//2、通過列架構添加列DataColumn age new DataColumn("Age", typeof(Int32)); //數據類型為 整形DataColumn…

使用IntelliJ IDEA 配置Maven(入門)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 下載Maven 官方地址:http://maven.apache.org/download.cgi 解壓并新建一個本地倉庫文件夾 2.配置本地倉庫路徑 3.配…

[算法]不使用*、/、+、-、%操作符求一個數的1/3

摘要:算法一直是程序員進階的一道龍門,通常算法都是為了更高效地解決問題而創造的,但也有的只是出于學術性,并不在意其實際意義。這是近日在國外技術問答網站stackoverflow的一個熱門問題,不知道你能給出幾種解決方法&…

2022屆互聯網秋招備戰

文章目錄1、何為秋招?1.1應屆生身份1.2秋招、春招、校招1.3、社招、海投2.秋招信息如何獲取?3、如何備戰秋招?3.1、簡歷(ps做簡歷)3.2、筆試準備3.3、面試準備4、日常實習和暑假實習?1、春招≠暑期實習2、什…

php 兩變量值互換 方法

//方法一:$a "abc";$b"def";$a $a^$b;$b $b^$a;$a $a^$b;//方法二:list($a, $b) array($b, $a);//方法三:$a $a . $b;$b strlen( $b );$b substr( $a,0,(strlen($a)- $b ));$a substr( $a, strlen($b));//方法四&…

MySQL5.7 group by新特性,報錯1055

項目中本來使用的是mysql5.6進行開發,切換到5.7之后,突然發現原來的一些sql運行都報錯,錯誤編碼1055,錯誤信息和sql_mode中的“only_full_group_by“關,到網上看了原因,說是mysql5.7中only_full_group_by這…

IDEA中多行注釋及取消注釋快捷鍵

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1、一次性添加多行注釋的快捷鍵 首先選中要注釋區域,然后 ctrl/ 這個是多行代碼分行注釋,每行一個注釋…

為什么程序員不擅長估算時間?

摘要:時間估算是困難的,每一個程序員都有一個現實的估計區間,低于這個區間的估計意味著(構件,測試,檢查代碼的)時間開銷被低估了,超過這個區間的估計意味著這個任務太大而很難預估。…

red hat enterprise linux 7關閉防火墻的方法

2019獨角獸企業重金招聘Python工程師標準>>> red hat enterprise linux 7發布后,發現防火墻也變了,如何關閉防火墻呢,下面是方法 1.查看firewall的狀態 [rootsztech7 ~]# systemctl status firewalld firewalld.service - firewal…

IOS —— 網絡那些事(上) - http協議

作為一名并不太合格的程序員,今天要分享學習的成果,竟然講的是網絡相關HTTP協議的事情。(也算是復習了) 乍看HTTP協議的內容著實是十分復雜的,涉及到十分多互聯網"底層"框架的東西。今天就先撇開這部分詳細內…

【最新版】Java速成路線(急于找工作!)

文章目錄計算機網絡分層結構TCP/UDPHTTP/HTTPS狀態碼Cookie 和 SessionURI和URL操作系統線程和進程數據結構和算法數據結構算法設計模式(23種)單例工廠代理適配器觀察者模板實操工具Git/SVNMaven/GradleLinux基本操作NginxELKpostmanJAVA基礎語言基礎JVM…

Java Web Start實例

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 JWS讓用戶可以下載服務器端的Java Application到本機運行,并且沒有安裝、配置等繁瑣的操作JWS的運行原理:瀏覽器…

老派程序員——徒手實現偉大成就

摘要:本文介紹了三位非常著名的程序員:Ken Thompson,Joe Armstrong 和 Jamie Zawinski,他們是如何發明一門新語言,他們開發軟件時會像我們一樣使用當今流行的開發工具嗎?當讀Peter Seibel的精彩著作《編程人生:15位軟件…