很哇塞的 3 個 Java 實戰項目!
日常學習編程的過程中,項目實戰是不可避免的!編程本身就是要多實踐,多踩坑。
我遇到過很多應屆生,整個大學學了 4 年的編程,自己敲的代碼可能還不到 3000 行。你讓他做用自己學的編程知識做個什麼東西,他就蒙了,不知道從哪裏下手。
學習編程以及提高編程能力最直接的辦法就是實踐!不斷實踐!特別是在編程初期的時候,積累代碼量格外重要。
就比如你學習 Java 後臺開發的時候,能不能通過自己學過的知識獨立做個網站呢?再比如你搞懂了某個框架原理之後,能不能模仿着去寫一個簡單的呢?
理論固然重要,空談理論而無實踐就無意義了。
今天的話,再給大家推薦 3 個還算不錯並且適合學習的實戰項目。
這些項目不同於咱們平常經常遇到的博客系統、人員管理系統、商城系統等等已經有點 “爛大街” 的項目。所以,也是作爲自己項目經驗的不錯的選擇。
另外,說一嘴。這篇文章絕對不是單純的推薦,每一個項目我自己都花了很長時間研究。我也會在分享這些項目的時候,把自己的一些心得分享出來。
zfile: 在線雲盤
ZFile 是一個前後端分離的在線雲盤的實戰項目,使用 Spring Boot + Spring Security + JPA 開發,數據庫使用的是 H2 內嵌數據庫。
-
後端源碼 : https://github.com/zhaojun1998/zfile/
-
前端源碼 : https://github.com/zhaojun1998/zfile-vue/
-
推薦指數 :⭐⭐⭐⭐
ZFile 除了基本的文件存儲功能之外,還支持在線瀏覽文件(視頻, 圖片, 音樂)、文件直鏈分享等功能。項目的實際效果圖如下。
我們學習這個項目的主要目的並不是爲了自己搭建一個在線雲盤自己用。當然了,這也是可行的。畢竟某度的雲盤速度有點感人,期待阿里云云盤能夠良心一點吧!
你可以自己寫一個在線雲盤系統當做自己的項目經驗 / 畢業設計。這不比某某商城系統要香的多?
不過,我不太建議大家直接 copy 別人的項目,然後就在簡歷上說是自己寫的。
說實話,這種行爲有點可恥,好吧!雖然,我知道很多小夥伴就是這樣做的。
秉着對自己負責,對面試負責的態度,我建議你可以借鑑這個項目的思路,自己徒手擼一個。
難度,其實真不大的!可能剛上手開發那會比較難下手,等你把整個技術原理搞清楚之後就好了。前端的話,你完全可以直接在原作者的基礎上修改一下。你直接把後端寫一下就 OK 了。
另外,如果說你要修改原項目自帶的前端項目源碼的話,建議你提前花時間學習一下前端基礎(比如 ES6),把 Vue 的官方文檔閱讀幾遍。
zfile 這個項目的代碼整體質量在開源項目中算是比較高的。不過,還是有一些小細節可以完善比如 Controller
層放了太多業務邏輯(封裝一個服務函數 Service
更好)。
novel-plus: 小說精品屋
novel-plus 是一款基於 SpringBoot + MyBatis +Spring Security + Elasticsearch + 支付寶支付的原創文學 CMS 系統。
除了單體版之外,這個項目還有一個基於 Spring Cloud 的微服務版本供你學習使用。
-
項目地址 : https://github.com/201206030/novel-plus
-
推薦指數 :⭐⭐⭐⭐
novel-plus 除了支持基本的小說上架和閱讀功能之外,還支持小說排行榜、會員充值、用戶訂閱等功能。項目的實際效果圖如下。
這個項目還有一個爬蟲模塊用於系統初期測試使用。對 Java 爬蟲感興趣的朋友,可以簡單研究一下。
這個項目的代碼質量也是非常不錯的,結果清晰,代碼結構也比較規範。這也是我推薦這個項目很大的一個原因。
guide-rpc-framework:RPC 框架
guide-rpc-framework 是一款基於 Netty+Kyro+Zookeeper 實現的 RPC 框架。
-
項目地址 : https://github.com/Snailclimb/guide-rpc-framework
-
推薦指數 :⭐⭐⭐⭐⭐
這個項目代碼註釋詳細,結構清晰,並且集成了 Check Style 規範代碼結構,非常適合閱讀和學習。
網絡傳輸模塊的代碼
並且,這個項目的 README 文檔寫的也非常認真。從 README 文檔中,你就可以大概瞭解到這個 RPC 框架的設計思路以及前置技術。
雖說 RPC 的原理實際不難,但是,我自己在實現的過程中自己也遇到了很多問題。guide-rpc-framework 目前只實現了 RPC 框架最基本的功能(玩具級別),一些可優化點我都在項目的 README 文檔提到了,有興趣的小夥伴可以自行完善。
通過這個簡易的輪子,你可以學到 RPC 的底層原理和原理以及各種 Java 編碼實踐的運用。
你甚至可以把這個項目當做你的畢設 / 項目經驗,這是非常不錯!對比其他求職者的項目經驗都是各種系統,造輪子肯定是更加能贏得面試官的青睞。
我瞭解到很多小夥伴都拿我的這個項目作爲校招的項目經驗,而且反響很不錯。
我這裏提一個建議:一定不要照搬我的項目,儘量自己從頭開始寫。你可以參考我的思路, 但是自己一定要搞懂,而不是直接複製粘貼我的思想。儘量能夠和我有點不一樣的地方比如通信協議的設計、序列化的選型、註冊中心的選擇。
總結
這篇文章中,我一共推薦了 3 個實戰項目:
-
zfile(在線雲盤)
-
novel-plus(小說精品屋)
-
guide-rpc-framework(RPC 框架)
zfile 和 novel-plus 需要你至少要有 Spring Boot 、MyBatis、JPA 等基礎知識儲備,guide-rpc-framework 需要你至少要有 RPC、Netty、ZooKeeper 等知識儲備。
對這些項目感興趣的小夥伴,可以參考着項目的 README 文檔把項目在本地先跑起來。然後,從一個具體的功能主線出發來研究這個項目。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/MN6BAK20bCsCp-vnnsueDA