<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          30張圖!手把手帶你盤 Spring Boot 前后端分離實(shí)戰(zhàn)項(xiàng)目!

          共 5876字,需瀏覽 12分鐘

           ·

          2021-04-23 13:26

          關(guān)注我的公號時間比較久的小伙伴應(yīng)該清楚,我推薦過很多非常贊的實(shí)戰(zhàn)項(xiàng)目,比如這篇《很哇塞的 3 個 Java 實(shí)戰(zhàn)項(xiàng)目!》、再比如這篇《熬夜收集了 5 個實(shí)用的 Java 開源論壇系統(tǒng)!》

          但是,有一些學(xué)習(xí) Java 時間比較短的小伙伴,不知道如何在自己本地把項(xiàng)目跑起來。尤其是一些前后端分離的項(xiàng)目,直接把一些不懂前端的小伙伴給整迷糊了。

          今天這篇文章,我就從一個初學(xué)者的角度,帶著大家在本地搭建一下項(xiàng)目環(huán)境。

          我會使用 uexam[1] 這個實(shí)戰(zhàn)項(xiàng)目作為案例!

          uexam 是一款前后端分離的在線考試系統(tǒng)。這個項(xiàng)目的后端基于 Spring Boot 2.0+MySQL/PostgreSQL+Redis+MyBatis,前端基于 Vue

          開始搭建環(huán)境之前,首先需要通過 Git 將項(xiàng)目克隆到本地。

          git clone https://gitee.com/SnailClimb/uexam.git

          考試系統(tǒng)本地環(huán)境搭建

          你在學(xué)習(xí)任何一個開源項(xiàng)目之前,一定一定一定要仔細(xì)看一下項(xiàng)目的 README 文檔和相關(guān)的介紹文檔。

          1.細(xì)讀項(xiàng)目 README

          首先,我們來看一下這個項(xiàng)目的 README 文檔。從 README 文檔中,你可以獲取到項(xiàng)目介紹、演示地址、架構(gòu)設(shè)計(jì)、使用教程等非常有用的信息。

          根據(jù)項(xiàng)目技術(shù)棧和使用教程這部分的信息,我們判斷出項(xiàng)目啟動需要依賴的外部環(huán)境有:

          • MySQL/PostgreSQL :數(shù)據(jù)庫。
          • Redis :內(nèi)存數(shù)據(jù)庫,用作緩存
          • 七牛云存儲 :存儲一些文件比如圖片(非必須,只在上傳圖片的時候會用到)

          并且,項(xiàng)目的數(shù)據(jù)庫腳本在 uexam/source/xzs/sql 目錄下。

          2.后端環(huán)境搭建

          MySQL 太大眾了,網(wǎng)上一堆教程,我這里以 PostgreSQL 數(shù)據(jù)庫版本來演示。

          安裝 PostgreSQL

          這里我們使用 Docker 下載最近版的 PostgreSQL 鏡像 ,默認(rèn)大家已經(jīng)安裝了 Docker

          $ docker pull postgres

          如果你對 Docker 不熟悉的話,也沒關(guān)系,花半個小時看一下 Guide 哥寫的 《Docker 從入門到上手干事!看這篇就夠了!》這篇文章就 OK 了。

          查看 PostgreSQL 鏡像:

          $ docker images |grep postgres
          postgres                latest              62473370e7ee        2 weeks ago         314MB

          運(yùn)行 ·:

          $ docker run -d -p 5432:5432 --name postgresql -e POSTGRES_PASSWORD=123456 postgres

          安裝 Redis

          這里我們使用 Docker 下載最近版的 Redis 鏡像。

          $ docker pull redis

          查看 Redis 鏡像:

          $ docker images |grep redis

          運(yùn)行 Redis

          $ docker run -itd --name redis-test -p 6379:6379 redis

          創(chuàng)建七牛云存儲(可省略)

          備注:如果你在使用系統(tǒng)的過程中不上傳圖片的話,這一步完全可以省略掉。 我這里介紹的比較簡單,大二那會我就開始使用七牛云存儲了,我記得如果你要使用七牛云產(chǎn)品的話,是需要提前進(jìn)行實(shí)名認(rèn)證的。

          如果你要為項(xiàng)目配置自己的七牛云存儲的話,你要先有一個七牛云的賬號[2]。然后,選擇七牛云的對象存儲服務(wù),點(diǎn)擊創(chuàng)建空間即可。

          存儲空間創(chuàng)建完成之后,你需要用到的是 存儲空間名稱CDN 測試域名 以及你的 秘鑰。通過在后端配置文件中配置這些屬性,你就可以成功訪問到對應(yīng)的存儲空間了。

          創(chuàng)建數(shù)據(jù)庫并執(zhí)行數(shù)據(jù)庫腳本

          創(chuàng)建一個名字叫做xzs 的數(shù)據(jù)庫,然后執(zhí)行相應(yīng)的數(shù)據(jù)庫腳本即可(數(shù)據(jù)庫腳本在 uexam/source/xzs/sql 目錄下)。

          項(xiàng)目配置文件修改

          修改 application-dev.yml ,將 PostgreSQLRedis 的服務(wù)地址改為自己本地的。

          application-dev.yml

          logging:
            path: ./log/

          spring:
            redis:
              host: 127.0.0.1
            datasource:
              url: jdbc:postgresql://127.0.0.1:5432/xzs
              username: postgres
              password: 123456

          七牛云相關(guān)的配置在 application.yml 中,application.yml 配置文件中的是一些通用的配置。

          application.yml

          system:
            qn:
              url: 你自己創(chuàng)建的空間的 url
              bucket: 你自己創(chuàng)建的空間名稱
              access-key: 你自己的 access-key
              secret-key: 你自己的 secret-key

          導(dǎo)入項(xiàng)目

          注意:你要打開的是 uexam/source/ 目錄下的 xzs 文件,這個才是后端項(xiàng)目的代碼。

          另外,如果你配置過 IDEA 命令行啟動項(xiàng)目的話,通過在控制臺使用 idea . 命令即可快速打開項(xiàng)目。

          打開項(xiàng)目之后,等待其下載安裝好 pom.xml 配置的一些 jar 包。

          啟動項(xiàng)目

          后端環(huán)境 Ready 之后,直接運(yùn)行 XzsApplication 即可。

          啟動成功后,打開下面的鏈接即可跳轉(zhuǎn)到對應(yīng)的端:

          • 學(xué)生系統(tǒng)地址:http://localhost:8000/student
          • 管理端地址:http://localhost:8000/admin

          注意:這種方式,前端雖然也啟動了,也能訪問,不過是內(nèi)嵌在后端項(xiàng)目中。如果如果我們需要前后端分離的話,需要單獨(dú)運(yùn)行前端項(xiàng)目

          3.Web 環(huán)境搭建

          這一步需要你的本地有 Node 開發(fā)環(huán)境。

          如果你不知道如何搭建 Node 開發(fā)環(huán)境的話,Windows 用戶可以看 Microsoft 的《直接在 Windows 上設(shè)置 Node.js 開發(fā)環(huán)境》這篇文章,介紹的非常詳細(xì)。

          Mac 用戶的話就比較簡單了,推薦直接使用 Homebrew 安裝即可:brew install nodeNPM 已經(jīng)默認(rèn)包含在了 Node 環(huán)境中)。

          安裝完成之后,建議你測試一下本地是否成功安裝 NodeNPM

          • Node : node -v
          • NPM : npm -v

          Node 環(huán)境搭建好了之后,我們就開始正式搭建本地 Web 環(huán)境了!

          Web 端代碼在 uexam/source/vue 下,我們需要首先進(jìn)入這個目錄,然后分別對 xzs-admin (管理端) 和 xzs-student (學(xué)生端)執(zhí)行下面兩個命令。

          1.下載相關(guān)依賴

          $ npm install

          2.啟動項(xiàng)目

          $ npm run serve

          啟動完成之后,打開下面的鏈接即可跳轉(zhuǎn)到對應(yīng)的端:

          • 學(xué)生系統(tǒng)地址:http://localhost:8001 (賬號為:student/123456)
          • 管理端地址:http://localhost:8002 ( 賬號為:admin/123456)

          4.小程序端環(huán)境搭建

          小程序端代碼在 uexam/source/wx/xzs-student 目錄下。

          首先,你需要申請一個微信小程序測試賬號,申請地址以及詳細(xì)說明在這里:https://developers.weixin.qq.com/miniprogram/dev/devtools/sandbox.html 。

          登錄我們剛剛申請的小程序測試賬號,AppID(小程序 ID)AppSecret(小程序密鑰) 是我們需要用到的。

          其次,你需要修改后端配置文件 application.yml 中微信小程序相關(guān)的配置。

          application.yml

          system:
            wx:
              appid: 你申請的小程序測試號的 appid
              secret: 你申請的小程序測試號的 secret
              token-to-live: 12h   #token 過期時間
              security-ignore-urls:
                - /api/wx/student/auth/bind
                - /api/wx/student/auth/checkBind
                - /api/wx/student/user/register

          另外,為了能夠打開微信小程序,我們還需要下載 微信開發(fā)者工具 。微信開發(fā)者工具下載地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 。

          選擇適合自己的操作系統(tǒng)版本,下載穩(wěn)定版即可。

          最后,我們打開微信開發(fā)工具按照下面的步驟導(dǎo)入項(xiàng)目即可。

          選擇導(dǎo)入項(xiàng)目。

          選擇 uexam/source/wx/xzs-student 文件夾。

          注意檢查這里的 AppID 屬性是不是你自己申請的測試的一樣。

          等待一會,咱們的小程序環(huán)境就 OK 了。

          考試系統(tǒng)本地使用體驗(yàn)

          環(huán)境搭建了之后,不要一上來就看項(xiàng)目代碼。先自己走一遍系統(tǒng)提供的主要功能!

          這個考試系統(tǒng)的樣式以及操作體驗(yàn)都是非常不錯的,這也是我推薦這個項(xiàng)目很重要的一個原因。

          管理端

          添加學(xué)科

          在創(chuàng)建題目之前,你需要首要創(chuàng)建學(xué)科。這里我們創(chuàng)建的學(xué)科是編程,年級是三年級。

          添加學(xué)科

          添加題目

          可以看到這里可以添加多種題型: 單選題、多選題、判斷題、填空題、簡答題。

          添加題目

          我們以單選題為例,添加題目界面如下。

          添加題目頁面

          添加成功之后,題目列表就會出現(xiàn)我們剛剛添加的題目。

          題目創(chuàng)建成功

          添加試卷

          有了學(xué)科和題目之后才能添加試卷。

          添加試卷

          添加成功之后,試卷列表就會出現(xiàn)我們剛剛添加的試卷。

          試卷創(chuàng)建成功

          添加學(xué)生

          注意:這里的學(xué)生要和我們前面創(chuàng)建的學(xué)科對應(yīng)的年級對應(yīng)上。

          添加學(xué)生

          學(xué)生端

          使用我們剛剛創(chuàng)建的學(xué)生賬號登錄,你會發(fā)現(xiàn)主頁多了一個試卷。這個試卷就是我們剛剛在管理端創(chuàng)建的。

          學(xué)生端-主頁

          試卷答題界面如下。

          學(xué)生端-試卷

          小程序端

          使用我們剛剛創(chuàng)建的學(xué)生賬號登錄。

          點(diǎn)擊底部 tab 欄的“試卷”,你會發(fā)現(xiàn)主頁多了一個試卷。

          點(diǎn)開試卷之后的效果如下。

          總結(jié)

          這篇文章我手把手帶著大家走了一遍: Spring Boot 項(xiàng)目的后端環(huán)境搭建(Maven)->Vue 前端項(xiàng)目環(huán)境搭建->小程序環(huán)境搭建 。

          我個人感覺應(yīng)該是介紹的非常詳細(xì)了,大家跟著做基本就可以在本地把項(xiàng)目跑起來了。

          如果這篇文章對你有幫助的話,歡迎點(diǎn)贊+在看+分享啊!筆芯!

          參考資料

          [1]

          uexam: https://gitee.com/SnailClimb/uexam

          [2]

          七牛云的賬號: https://portal.qiniu.com/home



          歡迎加入我的星球,一個純 Java 面試交流圈子 !Ready!。目前星球已經(jīng)更新 3 個原創(chuàng)小冊:《Java面試進(jìn)階指北》《從零開始寫一個 RPC 框架》 、《程序員副業(yè)賺錢之路》累計(jì)幫助 520+ 位球友提供了免費(fèi)的簡歷修改服務(wù),回答了 500+ 個問題,產(chǎn)出了 1300+ 個主題。

          推薦?? :1049天,100K!簡單復(fù)盤!

          推薦?? :年薪 40W Java 開發(fā)是什么水平?

          推薦?? :Github掘金計(jì)劃:Github上的一些優(yōu)質(zhì)項(xiàng)目搜羅

          我是 Guide哥,擁抱開源,喜歡烹飪。Github 接近 10w 點(diǎn)贊的開源項(xiàng)目 JavaGuide 的作者。未來幾年,希望持續(xù)完善 JavaGuide,爭取能夠幫助更多學(xué)習(xí) Java 的小伙伴!共勉!凎!點(diǎn)擊查看我的2020年工作匯報(bào)!
          原創(chuàng)不易,歡迎點(diǎn)贊分享。咱們下期再會!
          瀏覽 36
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码精品第一页 | 三级网站在 | 午夜福利免费 | 欧美久久久久久成人片 | PP特极毛片 |