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

前言

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

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

(2)絕大部分應用系統,核心架構其實都是展示層、業務處理層和數據訪問層。所謂的不同就是增加了一系列看似高大上的非功能性組件(緩存、分佈式、併發、安全驗證等)。 那麼作爲一個Java新手,如何才能快速的看透一個Java項目呢?

(1)DEBUG,對於程序員來講,DEBUG是一個最核心的技能,挑選一個典型流程,從展示層、業務處理層、數據訪問層一層一層的DEBUG下來,就可以搞清楚界面上發起的請求是如何進行業務處理,如何完成數據庫操作並如何返回結果給前端界面的。

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

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

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

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

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

項目介紹

學之思在線考試系統是一款 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)日誌中心:用戶的基本操作進行日誌記錄,瞭解用戶使用過情況

軟件架構圖

學生考試系統

後臺管理系統

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

項目介紹

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

(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

系統登錄

採購入庫

樹結構數據

總結

要了解一個項目,首先要知道這個項目的業務背景是什麼,爲什麼要存在該系統。這個在理解項目的過程中非常重要。整理了100+個Java項目視頻+源碼+筆記

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

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

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

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章