我來分享下做Java web開發(fā),需要掌握哪些技術(shù)以及工具。Java基礎(chǔ)這類的就不提了,這是不管做Java web還是安卓開發(fā)都需要掌握的。
框架

現(xiàn)在做Java web開發(fā)的好處是就算你不懂JSP,servlet等等,只要你會(huì)用框架,也能成為一個(gè)開發(fā)者?;蛘呖梢哉f,目前主流的框架已經(jīng)幫助Java開發(fā)者托管了很多工作,使他們能夠更加專注于代碼編寫,功能實(shí)現(xiàn),而不是部署環(huán)境等。

做JAVA開發(fā),要會(huì)什么技術(shù)?

主流的框架過去曾經(jīng)是SSH獨(dú)霸天下,后來有了SSM,最近Spring boot則風(fēng)頭正猛。因此,我的推薦是主要了解Spring框架,簡(jiǎn)要了解如何使用mybatis即可。

Spring框架最突出的能力是IoC以及AOP,中文名是控制反轉(zhuǎn)和面向切面編程。其中IoC最大的用處是當(dāng)調(diào)用者對(duì)象需要使用被調(diào)用者對(duì)象的能力的時(shí)候,無須去參與生成被調(diào)用者對(duì)象的生命周期,只需要去IoC容器中拿來直接用就可以了,極大的減輕了開發(fā)者的負(fù)擔(dān)。AOP是允許代碼片橫向切入,從某種程度來說是實(shí)現(xiàn)了代碼復(fù)用,同樣是提高了開發(fā)者的工作效率。

mybatis框架相對(duì)spring來說要簡(jiǎn)單的多。它是一個(gè)持久層框架,比原理的hibernate要輕量級(jí)的多,使用和配置起來也更加靈活簡(jiǎn)單。

Linux

目前已知絕大多數(shù)Java web的項(xiàng)目都是部署在Linux環(huán)境中的(因?yàn)長(zhǎng)inux環(huán)境比Windows環(huán)境穩(wěn)定的多,Linux可以做到幾年不重啟,依舊運(yùn)行的非常順暢)。所以你還要學(xué)會(huì)在Linux環(huán)境通過命令行而不是圖形界面,來實(shí)現(xiàn)你的需求。比如要學(xué)會(huì)基本的cd命令,切換文件夾;mkdir命令來創(chuàng)建文件夾;cat命令來查看文件;vi命令修改文件;grep命令,有條件的查看文件;還有rz sz命令來上傳,下載文件到本地環(huán)境;crontab來部署定時(shí)任務(wù);tail -f來將某個(gè)文件的即時(shí)輸出打印在屏幕上;du -sh *來查看當(dāng)前文件夾下每個(gè)子文件(夾)的大小等等等等。

做JAVA開發(fā),要會(huì)什么技術(shù)?

開發(fā)工具

在Java開發(fā)過程中,通常還會(huì)使用maven這個(gè)項(xiàng)目管理工具,它的包托管能力,也是能夠有效提高開發(fā)人員的工作效率,減少了在網(wǎng)上找第三方依賴jar包,下載再引入依賴的過程。

由于程序員通常是協(xié)同開發(fā),因此對(duì)git的使用也是必不可少的,學(xué)會(huì)git的使用命令也是很重要的,比如git add用來提交本地文件, git push把文件push到遠(yuǎn)程倉庫, git commit把文件提交到本地倉庫, git checkout切換分支等等。

做JAVA開發(fā),要會(huì)什么技術(shù)?

此外,有的程序員還需要beyondCompare,Jenkins等等,這個(gè)因公司情況而定。目前有些公司是禁止使用Jenkins的,因?yàn)閾?dān)心Jenkins的漏洞問題會(huì)帶來觸及安全紅線的問題等等。