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