推荐两个项目!
?點擊下方「關注」和「星標」公眾號
之前分享的文章中有提到項目經驗的重要性,但是,很多學生的情況是沒有實際的項目經驗的,所以,這樣就會比較吃虧,沒有項目的情況下,可能面試全部都會考察你的基礎知識、算法能力,這就需要你有扎實的基礎知識,我覺得這樣是比較難的,最好的方式還是讓面試官多問問你的項目,減少一些問基礎知識的時間,能夠更好的通過面試。
因此,今天我就花了一點時間分享一些不錯的Java相關的項目,這些項目都是開源項目,別小看了這些看起來不引人注意的項目,其實,這些項目的水平不亞于一些真實項目的水平,所以,如果你能認真的研究一兩個,用來當做你的項目經驗,作為校招來說,我覺得是有幫助的,接下來就介紹幾個項目。
CMS開源項目分享
這個開源項目基于SpringBoot2架構,前端基于vue、element ui。提供適用的插件(文章、商城、微信、論壇、會員、評論、支付、積分、工作流、任務調度等...),一套簡單好用的開源系統、一整套優質的開源生態內容體系。
可以看得出來,開源項目的作者對于這個項目的用心,他的愿景也是希望能夠降低開發的成本,提高效率。下面我們再看看這個項目的技術選型,通過這個技術選型也能看出這個項目的價值,到底值不值得我們學習。
技術選型
后端框架
| Spring Framework | 容器 | http://projects.spring.io/spring-framework |
| Spring Boot | MVC框架 | https://spring.io/projects/spring-boot |
| Apache Shiro | 安全框架 | http://shiro.apache.org |
| Spring session | 分布式Session管理 | http://projects.spring.io/spring-session |
| MyBatis | ORM框架 | http://www.mybatis.org |
| Freemarker | 視圖框架 | http://freemarker.foofun.cn |
| PageHelper | MyBatis分頁插件 | http://git.oschina.net/free/Mybatis_PageHelper |
| Log4J | 日志組件 | http://logging.apache.org |
| Maven | 項目構建 | http://maven.apache.org |
| Elasticsearch | 分布式搜索引擎 | https://www.elastic.co |
| Redis | 分布式緩存數據庫 | https://redis.io |
| hutool | 工具類 | http://hutool.mydoc.io |
前端框架
| vue | 函式庫 | https://cn.vuejs.org// |
| element ui | UI庫 | https://element.eleme.cn/2.0/#/zh-CN |
| jQuery | 函式庫 | http://jquery.com/ |
| Bootstrap | 前端框架 | http://getbootstrap.com/ |
| Bootstrap-table | Bootstrap數據表格 | http://bootstrap-table.wenzhixin.net.cn/ |
| BootstrapValidator | 表單驗證 | http://bootstrapvalidator.com/ |
| Font-awesome | 字體圖標 | http://fontawesome.io/ |
| Waves | 點擊效果插件 | https://github.com/fians/Waves/ |
| zTree | 樹插件 | http://www.treejs.cn/v3/ |
| Select2 | 選擇框插件 | https://github.com/select2/select2 |
| Vue | MVVM框架 | https://cn.vuejs.org/ |
| AmazeUI | 移動端UI | http://amazeui.org/ |
| Plupload | 上傳控件 | http://www.plupload.com/ |
| freemarker | 模板引擎 | http://freemarker.foofun.cn/toc.html |
| validator | 驗證庫 | https://github.com/chriso/validator.js |
| animate | 動畫 | http://daneden.github.io/animate.css/ |
| icon | 矢量小圖標(待更新) | http://ms.mingsoft.net/html/86//6048/index.html |
以上就是前端和后端的技術選型了。從后端來看,用到的也是目前主流的技術spring、springboot、mybatis、redis、Elasticsearch等,所以,從后端來說,還是很值得學習的,特別是沒有項目經驗,這個項目可以作為一個不錯的入手的項目,學習其中的技術跟技術在項目中如何運用。從我的角度來說,如果我來看開源項目,也是首先看一下技術選型,再往下展開,如果說技術ok,再看看有哪些技術是不太熟悉的,先要了解學習一下,這個階段就相當于豐富你的知識體系了,都有了一定的了解之后,再進行后端的源碼學習,這樣的思路我覺得是比較好的。
后端完了,前端的話我覺得不用太糾結,畢竟我們是做后端的,術業有專攻,我覺得應該在某個方面精通就行,全棧可能有點得不償失,所以,只需要簡單的了解一下,看得懂代碼就行,其實,上面的前端的技術也是ok的。
項目結構
我們大體看一下這個項目的項目結構。
這個項目一看其實還是比較傳統的,畢竟是CMS,所以,項目閱讀起來應該是沒有太大的難度的。
大家學習之后,必然是需要運行項目看看的,官網也提供了快速入門的方式。
快速體驗
1、檢出源代碼:
git?clone?https://gitee.com/mingSoft/MCMS.git2、導入項目;
3、Eclipse(IDEA)會自動加載 Maven 依賴包,初次加載會比較慢(根據自身網絡情況而定),若工程上有小叉號,請打開 Problems 窗口,查看具體錯誤內容,直到無錯誤為止;
4、創建數據庫db-mcms-open(數據庫使用utf-8編碼),導入doc/mcms-版本號.sql,如果升級現有系統請使用*-up-*.sql升級,如果導入了系統對應的完整版SQL,sql升級補丁不需要重復導入;
5、修改src\main\resources\application-dev.yml文件中的數據庫設置參數;
6、運行MSApplication.java main方法?
7、首先先訪問后臺地址:http://ip|域名/項目發布名/ms/login.do,管理員賬號,用戶名:msopen 密碼:msopen,進入后臺點擊內容管理->靜態化菜單,進行"生成主頁","生成欄目","生成文章"操作一遍 (注意:后臺登錄界面,不是會員中心登錄界面)。
通過上面的分析,其實,你會發現這個項目其實沒有很大的難度,只要對相關技術了解之后,閱讀源碼不會有太大的困難,當然,也需要對相關的業務做一些了解,這樣更有利于學習。
另外,我建議在學習的過程中,盡量去理清楚思路,比如,用思維導圖,這樣不容易忘記,也能做一個比較好的總結。
項目截圖
最后再來給大家展示幾張項目的截圖,整體還是比較美觀的,所以,大家如果想拿來當做項目,我建議一定要對整個項目的架構熟悉,這個用思維導圖來做,另外,對于項目的細節方面,對于某幾個模塊也要盡量的摸清楚,這樣才會顯得比較熟練,另外的話,需要做一個項目中的難點和亮點的梳理,這兩點非常重要,面試中項目的精彩之處也就是在這里了。
這個項目的梳理就在下面這幾張漂亮的截圖中結束了,希望對大家有幫助!
mall4j電商商城項目分享
mall4j商城是基于springboot的Java商城。本商城是前后端分離的商城,輕量級的商城。這個項目我簡單的看了一下,整體上是非常不錯的,因為這個一個電商的項目,比上面介紹的CMS項目就顯得更加的氣派一些了,整個項目也會更加復雜一些,其實,這也說明這個項目的價值更大一些,我覺得這個項目還是非常不錯的,作為你面試的項目是不二選擇。
技術選型
首先,我們還是來看一下技術選型,看看是否符合我們的要求。
| Spring Boot | 2.1.6 | MVC核心框架 |
| Spring Security oauth2 | 2.1.5 | 認證和授權框架 |
| MyBatis | 3.5.0 | ORM框架 |
| MyBatisPlus | 3.1.0 | 基于mybatis,使用lambda表達式的 |
| Swagger-UI | 2.9.2 | 文檔生產工具 |
| Hibernator-Validator | 6.0.17 | 驗證框架 |
| redisson | 3.10.6 | 對redis進行封裝、集成分布式鎖等 |
| hikari | 3.2.0 | 數據庫連接池 |
| log4j2 | 2.11.2 | 更快的log日志工具 |
| fst | 2.57 | 更快的序列化和反序列化工具 |
| orika | 1.5.4 | 更快的bean復制工具 |
| lombok | 1.18.8 | 簡化對象封裝工具 |
| hutool | 4.5.0 | 更適合國人的java工具集 |
| swagger-bootstrap | 1.9.3 | 基于swagger,更便于國人使用的swagger ui |
整體上和上面的項目的技術大同小異,基本上也是一些主流的技術,所以,技術選型也是近些年比較常用的技術,這一點不用擔心,面試的時候肯定也是沒有問題的,同樣,遇到不熟悉的技術,我建議還是需要先了解學習一下,這樣更有利于閱讀源碼。
項目結構
這個項目的結構跟前面的CMS就有很大的區別了,上面那個就是非常傳統的Java的項目結構,而這個是一個分模塊的項目,項目結構更加清晰,模塊與模塊之間的耦合度更低了,所以,看這個項目的源碼應該是更加清晰的。
從上圖中可以看到,主要分為admin、api、bean、common、service等模塊,所以這個項目是按照層級來分的,不是按照功能拆分。
因此,看這個項目的時候,可以一個個的模塊來,從api->service->admin...
同時,這個項目也有其他端的,包括前端、后端、小程序,項目很完整。
項目截圖
最后也是分享幾張這個項目的截圖,大家可以看看這個項目是否符合你的要求,然后再拿去學習!
over
這篇文章暫時到這里就結束了,但是,這只是一個開始,后面還是繼續分享不錯的項目,后面也會盡可能的把項目中的難點、亮點拿出來跟大家說說面試的時候怎么跟面試官聊,這一點我覺得還是非常重要的,要學習在面試中表現自己,這樣才能拿到offer!好了,咋們下期再見!
項目獲取方式
點擊下方公眾號,回復:D109?和 D106
推薦閱讀
寫博客能月入 10K?
這一刻,我決定為鵝廠拼命
拿了 30K 的 offer!
分享一套基于SpringBoot和Vue的企業級中后臺開源項目,這個項目有點哇塞!
圈子哥推薦一款基于 Spring Boot 開發 OA 開源產品,學習/搞外快都是不二選擇!
碼字不易,點個「在看」和「贊」支持一下。
總結
- 上一篇: 看看人家 SpringBoot + vu
- 下一篇: 程序猿惯用口头禅,你被击中了吗?