天天看點

作為Java新手,如何才能快速的看透一個Java項目呢?前言一個線上考試系統,練手項目用他很香SpringBoot庫存管理系統,拿來學習真香總結

前言

技術學習是一個總結、糾錯、觸類旁通的過程,而不是單純重複練習的過程,如果你問一個做過5年以上Java的老碼農,他們很多人都會有很強的“搬磚感”,這種“搬磚感”其實就是對Java項目的觸類旁通、看出套路來了,比如:

(1)絕大部分Java應用系統,絕大部分功能歸根到底都是資料庫的“CRUD增删改查”,中間加了一些資料的校驗、轉換和邏輯運算,不同之處就是有的功能流程拐彎多一些、性能要求高一些、界面互動炫酷一些等。

(2)絕大部分應用系統,核心架構其實都是展示層、業務處理層和資料通路層。所謂的不同就是增加了一系列看似高大上的非功能性元件(緩存、分布式、并發、安全驗證等)。

那麼作為一個Java新手,如何才能快速的看透一個Java項目呢?

(1)DEBUG,對于程式員來講,DEBUG是一個最核心的技能,挑選一個典型流程,從展示層、業務處理層、資料通路層一層一層的DEBUG下來,就可以搞清楚界面上發起的請求是如何進行業務處理,如何完成資料庫操作并如何傳回結果給前端界面的。

(2)讀懂配置檔案,其實作在Java項目的配置檔案相比以前已經比較少了,配置檔案裡面往往配置了一些請求映射、通路路徑、參數設定等重要資訊,熟悉這些資訊會對自己掌握系統運作方式有很大幫助。

(3)看文檔,找出系統裡面用到的開源架構/元件,把他們的官方文檔通讀一遍,搞清楚這些架構/元件是如何搭建、配置和運作的。如果能把官方文檔搞熟搞懂,其實絕大部分遇到的BUG根本不用搜尋引擎,都在文檔裡面有答案了。

(4)實際動手做一個功能,不要抄代碼,而是仿照其他功能做一個類似的功能(搬磚),做完一個功能其實你就能大概了解系統的技術工作原理了。

(5)如果身邊有資深的老程式員,能讓他花個半小時一個小時的跟你整體講一下,效果更佳顯著。

作為Java新手,如何才能快速的看透一個Java項目呢?前言一個線上考試系統,練手項目用他很香SpringBoot庫存管理系統,拿來學習真香總結

一個線上考試系統,練手項目用他很香

項目介紹

學之思線上考試系統是一款 java + vue 的前後端分離的考試系統。主要優點是開發、部署簡單快捷、界面設計友好、代碼結構清晰。目前支援web端和微信小程式,能覆寫到pc機和手機等裝置。

整理了100+個Java項目視訊+源碼+筆記

開源版使用須知

(1)僅用個人學習,商用請購買授權

(2)禁止将本項目的代碼和資源進行任何形式的出售,産生的一切任何後果責任由侵權者自負

學生系統功能

(1)登入、注冊:注冊時要選年級,過濾不同年級的試卷, 賬号為student/123456

(2)首頁:任務中心、固定試卷、時段試卷、可以能做的一部分試卷

(3)試卷中心:包含了所有能做的試卷,按學科來過濾和分頁

(4)考試記錄:所有的試卷考試記錄在此處分頁,可以檢視試卷結果、用時、得分、自行批改等

(5)錯題本:所有做錯的題目,可以看到做題的結果、分數、難度、解析、正确答案等

(6)個人中心:個人日志記錄

(7)消息:消息通知

(8)試卷答題和試卷檢視:展示出題目的基本資訊和需要填寫的内容

管理系統功能

(1)登入:賬号為 admin/123456

(2)首頁:包含了試卷、題目、做卷數、做題數、使用者活躍度的統計功能,活躍度和做題數是按月統計

(3)使用者管理:對不同角色 學生、教師、管理者 的增删改查管理功能

(4)卷題管理:

1)試卷清單:試卷的增删改查,新增包含選擇學科、試卷類型、試卷名稱、考試時間,試卷内容包含添加大标題,然後添加題目到此試卷中,

組成一套完整的試卷

2)題目清單:題目的增删改查,目前題型包含單選題、多選題、判斷題、填空題、簡單題,支援圖檔、公式等。

(5)教育管理:對不同年級的學科進行增删改查

(6)消息中心:可以對多個使用者進行消息發送

(7)日志中心:使用者的基本操作進行日志記錄,了解使用者使用過情況

軟體架構圖

作為Java新手,如何才能快速的看透一個Java項目呢?前言一個線上考試系統,練手項目用他很香SpringBoot庫存管理系統,拿來學習真香總結

學生考試系統

作為Java新手,如何才能快速的看透一個Java項目呢?前言一個線上考試系統,練手項目用他很香SpringBoot庫存管理系統,拿來學習真香總結

背景管理系統

作為Java新手,如何才能快速的看透一個Java項目呢?前言一個線上考試系統,練手項目用他很香SpringBoot庫存管理系統,拿來學習真香總結

SpringBoot庫存管理系統,拿來學習真香

Finer進銷存是一款面向中小企業的供銷鍊管理系統,基于J2EE快速開發平台Jeecg-Boot開發,采用前後端分離架構:SpringBoot2.x,Ant Design&Vue,Mybatis-plus,Shiro,JWT。項目基于十多年的中小企業管理經驗,由ERP領域的資深專家設計;産品分為基礎版、标準版、企業版三個版本,可适應不同的管控流程;對于靈活多樣的個性化的管理需求,在Jeecg-Boot支撐下,利用其強大的代碼生成器,無需寫任何代碼就可以快速實作大多功能,也可手工加入複雜的業務邏輯!

(1)基礎版:管結果,直接出入庫,生成應收應付,進行收付款并核銷

(2)标準版:管過程,業務從合同、申請、訂單開始

(3)企業版:管協同,全過程跟蹤管理,內建協同辦公

(4)本釋出為基礎版

功能子產品

開發環境

(1)語言:Java 8

(2)IDE(JAVA):IDEA / Eclipse,安裝lombok插件

(3)IDE(前端):IDEA / WebStorm

(4)依賴管理:Maven

(5)資料庫:MySQL5.7+ & Oracle 11g & SqlServer2017

(6)緩存:Redis

項目下載下傳和運作

(1)拉取項目代碼

it clone https://gitee.com/FINERS/psi.git

cd  psi/ant-design-jeecg-vue           

(2)安裝node.js

(3)切換到ant-design-jeecg-vue檔案夾下

# 安裝yarn
npm install -g yarn

# 下載下傳依賴
yarn install

# 啟動
yarn run serve

# 編譯項目
yarn run build

# Lints and fixes files
yarn run lint           

系統登入

作為Java新手,如何才能快速的看透一個Java項目呢?前言一個線上考試系統,練手項目用他很香SpringBoot庫存管理系統,拿來學習真香總結

采購入庫

作為Java新手,如何才能快速的看透一個Java項目呢?前言一個線上考試系統,練手項目用他很香SpringBoot庫存管理系統,拿來學習真香總結

樹結構資料

作為Java新手,如何才能快速的看透一個Java項目呢?前言一個線上考試系統,練手項目用他很香SpringBoot庫存管理系統,拿來學習真香總結

總結

要了解一個項目,首先要知道這個項目的業務背景是什麼,為什麼要存在該系統。這個在了解項目的過程中非常重要。

我們維護或者開發一個項目,不僅僅用到的是技術,當然技術是很重要的,在學習的過程中要結合業務去了解,過了10天半個月就想不起來這個項目是什麼東西,這種就是因為單純想學技術,而沒有了解到業務,是以就忘了。

關于學習項目我這裡總結了幾個步驟分享給大家:

1、了解系統的業務背景,改系統産生的原因是什麼

2、粗讀系統的代理工作流程和一些重要的分支

3、基于業務去精讀代碼,如果使用到了某個你不懂的技術棧,那就想想為什麼要用這個技術棧A而不是用另外一個技術棧B,在這個過程中學習

4、畫個總結的系統架構圖,如果流程比較多,可以話重要分支的流程圖