Java Web新手如何快速上手項(xiàng)目

序言

本文主要面向的目標(biāo)人群:剛畢業(yè)進(jìn)入項(xiàng)目組,需要盡快上手項(xiàng)目的小伙伴俊鱼。本文著重于快速上手汛聚,較少的涉及到原理锹安。

寫本文的原因主要有兩個(gè),一個(gè)是深知自己獨(dú)自摸索的痛苦倚舀,所以想分享一下經(jīng)驗(yàn)給剛開(kāi)始工作的小伙伴一個(gè)參考叹哭,少走一些彎路;另一個(gè)就是給別人講如何快速上手項(xiàng)目時(shí)痕貌,有一些收獲风罩,整理出來(lái)做個(gè)備份。

當(dāng)然舵稠,我還想騙幾個(gè)贊(哈哈哈哈~)

個(gè)人感觸:剛開(kāi)始的時(shí)候不要追求太高深的原理超升,盡快上手才是正道,工作中不會(huì)給你那么多的時(shí)間讓你把每一個(gè)知識(shí)點(diǎn)研究透徹再去開(kāi)始做項(xiàng)目哺徊。但是當(dāng)你上手之后一定要從頭開(kāi)始研究原理室琢,切記!只有在理論的指導(dǎo)下唉工,你的實(shí)踐才能更深層次的去進(jìn)行研乒,否則你可能永遠(yuǎn)只是個(gè)寫增刪改查的搬運(yùn)工。理論知識(shí)決定了你看問(wèn)題的深度與廣度淋硝,理論無(wú)用論千萬(wàn)不要信雹熬。

PS:本文只是個(gè)人的一些經(jīng)驗(yàn),只有參考價(jià)值谣膳,不保證都是對(duì)的竿报,如發(fā)現(xiàn)問(wèn)題請(qǐng)私信。

適合自己的,才是最好的继谚。

準(zhǔn)備工作

思想準(zhǔn)備

你做好加班的準(zhǔn)備了嗎烈菌?

需要知道的概念(不需要深入了解,但一定要知道有這么個(gè)東西)

  • SSH(Struts,Spring,Hibernate)
  • SSM(Spring,SpringMVC,MyBatis)

據(jù)我所了解的,現(xiàn)在用的更多是SSM芽世,MyBatis使用起來(lái)也相對(duì)來(lái)說(shuō)更簡(jiǎn)單一點(diǎn)挚赊,這個(gè)具體要看項(xiàng)目組使用的技術(shù)

需要掌握的軟件最基本操作

  • 版本管理:Git或SVN操作,GIT基本命令可見(jiàn)我的另一篇博客Git 最基本的操作命令
    • 克录闷啊(clone):將遠(yuǎn)程倉(cāng)庫(kù)代碼克隆到本地
    • 拉溶睢(pull):拉取最新代碼
    • 提交(commit):提交代碼
    • 上傳(push):提交到遠(yuǎn)程倉(cāng)庫(kù)
    • 新增(add)
  • Maven
    • Maven安裝、配置
    • Maven簡(jiǎn)單使用(*.pom如何引入Jar依賴)
    • 配置連接公司的私有庫(kù)旺矾、打包蔑鹦、發(fā)布
    • Eclipse下Maven插件配置(最新版本的Eclipse一般內(nèi)置插件,只需要配置一下就好)
  • Eclipse
    • 常用快捷鍵箕宙,可以極大地提升編碼效率嚎朽,而且看上去很帥,哈哈
    • Build Path設(shè)置
    • 字符編碼設(shè)置(中文亂碼的問(wèn)題一般是這個(gè)引起的)
  • JDK安裝柬帕、環(huán)境變量設(shè)置
  • 數(shù)據(jù)庫(kù)--MySQL哟忍、SQL Server、Oracle等 數(shù)據(jù)庫(kù)連接雕崩,一般都會(huì)有用于開(kāi)發(fā)的數(shù)據(jù)庫(kù)魁索,直接連接即可

核心技術(shù)點(diǎn)

  • Spring
  • Spring MVC或Struts(主要先了解Spring MVC模式及開(kāi)發(fā)流程)
  • 數(shù)據(jù)庫(kù)操作:Mybatis(常用)或Hibernate或JDBCTemplate(Spring自帶)
  • MVC(Model View Controller) 知道怎么回事即可,具體原理可上手之后研究盼铁,
    • model-模型
    • view-視圖
    • controller-控制器

開(kāi)發(fā)流程

這里所說(shuō)的開(kāi)發(fā)流程基本試用大部分的開(kāi)發(fā)項(xiàng)目粗蔚,希望對(duì)讀者有幫助。

基本流程:需求分析—功能設(shè)計(jì)—理清邏輯—寫代碼

  • 需求分析:別人提供一個(gè)需求的大致描述饶火,需要自己去分析需求的可行性以及需求實(shí)現(xiàn)的基本思路鹏控,最好是在紙上寫寫畫畫,方便理清思路以及防止死不承認(rèn)(嗯肤寝,相信我当辐,這很重要!)
  • 功能設(shè)計(jì):根據(jù)需求確認(rèn)代碼需要實(shí)現(xiàn)幾個(gè)功能鲤看,然后功能組合缘揪,最終滿足需求。這個(gè)階段需要測(cè)試技術(shù)實(shí)現(xiàn)的可能性义桂,比如做定時(shí)功能找筝,你可能需要首先寫一下定時(shí)實(shí)現(xiàn)的Demo測(cè)試下技術(shù)可能性再去具體實(shí)現(xiàn)整個(gè)功能。
  • 理清邏輯:功能設(shè)計(jì)完成之后慷吊,需要理清寫代碼時(shí)的邏輯袖裕,功能優(yōu)先級(jí),功能模塊的解耦等溉瓶。個(gè)人感覺(jué)這一塊很重要急鳄,經(jīng)常見(jiàn)有人代碼寫到一半發(fā)現(xiàn)邏輯不對(duì)需要重新返工谤民。
  • 寫代碼:Model實(shí)體—Dao數(shù)據(jù)庫(kù)操作--Service業(yè)務(wù)邏輯--Controller控制器(Action)

學(xué)習(xí)流程:

上手最快的方式就是模仿別人的代碼。因?yàn)槊總€(gè)項(xiàng)目組的差異性疾宏,沒(méi)有什么通用性的模板去靠张足,所以融入項(xiàng)目最好的方式就是看下項(xiàng)目組前輩的代碼,然后嘗試著去模仿坎藐。

具體做法就是找一個(gè)已經(jīng)開(kāi)發(fā)完的簡(jiǎn)單功能兢榨,看代碼,其中Service的具體代碼不需要看懂(涉及業(yè)務(wù)邏輯顺饮,如果不知道具體的業(yè)務(wù)的話很難看懂,只會(huì)浪費(fèi)時(shí)間)凌那,個(gè)人感覺(jué)關(guān)鍵點(diǎn)在于Mybatis的使用兼雄,因?yàn)镴ava Web后端的開(kāi)發(fā)最常做的就是增刪改查了。Controller層很少寫業(yè)務(wù)邏輯帽蝶,只是負(fù)責(zé)跟前端交互(比如前后端傳值赦肋、API提供等)
MyBatis兩種使用方法:

  • 直接寫在.java文件上以注解的形式寫SQL
  • 方法定義與XML(通俗的講就是寫sql的地方)做映射(mybatis有自動(dòng)生成,mybatis-generator励稳,熟悉之后可以研究下佃乘,可以節(jié)省大量的開(kāi)發(fā)時(shí)間)

如何閱讀別人的代碼

因?yàn)槊總€(gè)公司的標(biāo)準(zhǔn)不一樣,所以有些package和方法名的命名不一樣驹尼,最好是跟已有的保持一致

Java Web開(kāi)發(fā)的命名一般是:Model趣避、Dao、Service新翎、Controller(Action)
比如用戶功能的開(kāi)發(fā)可能是:
UserModel程帕、User……(實(shí)體,一般是對(duì)應(yīng)數(shù)據(jù)庫(kù)user地啰,變量名駝峰形式愁拭,比如userName)
UserDao、UserMapper:數(shù)據(jù)庫(kù)操作亏吝,一般對(duì)應(yīng) UserMapper.xml
UserService(接口定義)岭埠、UserServiceImpl(接口實(shí)現(xiàn),寫業(yè)務(wù)邏輯的地方)
UserController(或*Action) 控制器蔚鸥,一般跟前端的交互在這惜论,比如前端調(diào)用的接口就是在這定義的。

學(xué)會(huì)去問(wèn)

不要怕問(wèn)株茶!不要怕問(wèn)来涨!不要怕問(wèn)!

技術(shù)這個(gè)領(lǐng)域太龐大了启盛,沒(méi)有人敢說(shuō)掌握了所有的東西蹦掐,即使是在你所擅長(zhǎng)的領(lǐng)域技羔。每個(gè)人都有無(wú)知的時(shí)候,所以不要覺(jué)得自己?jiǎn)杽e人丟臉卧抗,有時(shí)候你糾結(jié)的問(wèn)題都是些很簡(jiǎn)單的問(wèn)題藤滥,只要你理清楚了剩下的很多問(wèn)題都會(huì)很容易的解決掉。

做技術(shù)的人社裆,不是在解決問(wèn)題就是在去解決問(wèn)題的路上~

當(dāng)然拙绊,不要怕問(wèn)不代表著什么都要問(wèn),問(wèn)別人也是需要技巧的泳秀,否則問(wèn)多了別人也會(huì)煩的标沪。
要搞明白什么該問(wèn)什么不該問(wèn)

  • 什么該問(wèn)?
    • 一定是你經(jīng)過(guò)思考的問(wèn)題嗜傅,而不是一看不會(huì)就跑去問(wèn)金句,這個(gè)很容易給別人留下不好的印象。
    • 你覺(jué)得有價(jià)值的問(wèn)題吕嘀,只要是你覺(jué)得有價(jià)值而且自己解決不了的都可以問(wèn)违寞,問(wèn)題沒(méi)有低級(jí)高級(jí)之分,只要是你求知路上的攔路虎對(duì)你來(lái)說(shuō)都是大問(wèn)題偶房。如果是自己覺(jué)得沒(méi)什么價(jià)值但是又想知道的趁曼,可以在平時(shí)吃飯閑聊的時(shí)候問(wèn)一下
  • 什么不該問(wèn)?
    • 網(wǎng)上一搜答案一大堆的基礎(chǔ)問(wèn)題棕洋,比如Maven如何安裝挡闰,這種問(wèn)題網(wǎng)上太多了就不要再去浪費(fèi)別人的時(shí)間了
    • 自己都不知道自己的問(wèn)題是什么的。說(shuō)的模模糊糊還需要?jiǎng)e人自己去理解的問(wèn)題最好別問(wèn)掰盘,除非這個(gè)問(wèn)題很重要而且確實(shí)是你自己不知道該如何表述尿这。

怎么問(wèn)

  • 找著問(wèn)題所在,上網(wǎng)搜下嘗試自己解決庆杜,如果超出了自己預(yù)期時(shí)間再去問(wèn)別人(如果很長(zhǎng)時(shí)間沒(méi)解決射众,千萬(wàn)別浪費(fèi)時(shí)間了,耽誤進(jìn)度比丟臉問(wèn)題大多了)晃财。
  • 如果是程序報(bào)錯(cuò)叨橱,一定要將具體的報(bào)錯(cuò)信息截圖或者通過(guò)別的方法記錄下來(lái),不要直接問(wèn)什么“我的程序怎么跑不起來(lái)”這種問(wèn)題断盛,說(shuō)實(shí)話罗洗,有一萬(wàn)種可能會(huì)導(dǎo)致你程序跑不起來(lái)的方法,別人不可能挨著給你排查钢猛。對(duì)于一個(gè)程序員來(lái)說(shuō)伙菜,日志是很重要的東西,一個(gè)報(bào)錯(cuò)的日志截圖絕對(duì)會(huì)讓別人更愿意幫你解決問(wèn)題

學(xué)會(huì)網(wǎng)上搜索

肯定很多人會(huì)很奇怪命迈,難道我一個(gè)高材生還不會(huì)百度贩绕?說(shuō)實(shí)話火的,有可能你真的不會(huì)。搜索的時(shí)候一定要搜問(wèn)題的關(guān)鍵詞馏鹤,而不是漫無(wú)目的的檢索。

比如:數(shù)據(jù)庫(kù)連接報(bào)錯(cuò)娇哆,有的人直接網(wǎng)上搜“數(shù)據(jù)庫(kù)為什么連不上”湃累,這種問(wèn)題網(wǎng)上都有上億的結(jié)果,等你找到你自己的問(wèn)題答案天估計(jì)也黑了碍讨。找到報(bào)錯(cuò)信息治力,直接搜索報(bào)錯(cuò)信息絕對(duì)是事半功倍。如果百度等沒(méi)找到勃黍,可以直接去Stack Overflow上找琴许,絕大部分的問(wèn)題都能在上面找到答案,不過(guò)是全英文的網(wǎng)站溉躲,需要一定的英文功底。

關(guān)于搜索引擎:英文報(bào)錯(cuò)信息益兄,Google會(huì)好一點(diǎn)锻梳。如果是中文問(wèn)題,百度搜索結(jié)果可能更好一點(diǎn)净捅,一些中文博客都包含在內(nèi)疑枯。但是總體來(lái)說(shuō)Google搜索質(zhì)量高一點(diǎn)

題外話-自我成長(zhǎng)

永遠(yuǎn)不要滿足于自己的現(xiàn)狀,在剛開(kāi)始工作的前兩年蛔六,是你快速成長(zhǎng)的階段荆永,這個(gè)階段你可能會(huì)產(chǎn)生自己已經(jīng)“無(wú)敵”了的錯(cuò)覺(jué),覺(jué)得自己什么都會(huì)了国章,世間的一切盡在掌握中具钥。當(dāng)你有這種錯(cuò)覺(jué)的時(shí)候,說(shuō)明你該吃藥了液兽。

個(gè)人感覺(jué)對(duì)成長(zhǎng)最有幫助的幾個(gè)方法:

  • 讀書

    不管是什么書都可以讀,當(dāng)然玄幻之類的小說(shuō)就算了。技術(shù)書挣棕、思維能力鍛煉的書要著重讀一下驮樊,好處還是很明顯的。

  • 交流柑晒、分享

    在技術(shù)這個(gè)領(lǐng)域欧瘪,交流分享絕對(duì)是能讓你快速成長(zhǎng)的一大利器。一個(gè)技術(shù)氛圍很濃的圈子是很重要的匙赞,沒(méi)有的話可以嘗試著去寫博客佛掖,在網(wǎng)絡(luò)上找志同道合的人

  • 學(xué)著做筆記

    很多問(wèn)題都是會(huì)重復(fù)遇到的妖碉,所以將自己遇到的一些問(wèn)題紀(jì)錄下來(lái)有助于避免重復(fù)踩坑
    另外整理學(xué)習(xí)筆記,可以加深記憶苦囱、便于后續(xù)查看嗅绸。推薦兩個(gè)做筆記軟件:印象筆記、OneNote

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末撕彤,一起剝皮案震驚了整個(gè)濱河市鱼鸠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌羹铅,老刑警劉巖蚀狰,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異职员,居然都是意外死亡麻蹋,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門焊切,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)扮授,“玉大人,你說(shuō)我怎么就攤上這事专肪∩膊” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵嚎尤,是天一觀的道長(zhǎng)荔仁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)芽死,這世上最難降的妖魔是什么乏梁? 我笑而不...
    開(kāi)封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮关贵,結(jié)果婚禮上遇骑,老公的妹妹穿的比我還像新娘。我一直安慰自己揖曾,他們只是感情好质蕉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著翩肌,像睡著了一般模暗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上念祭,一...
    開(kāi)封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天兑宇,我揣著相機(jī)與錄音,去河邊找鬼粱坤。 笑死隶糕,一個(gè)胖子當(dāng)著我的面吹牛瓷产,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枚驻,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼濒旦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了再登?” 一聲冷哼從身側(cè)響起尔邓,我...
    開(kāi)封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锉矢,沒(méi)想到半個(gè)月后梯嗽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沽损,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年灯节,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绵估。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡炎疆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出国裳,到底是詐尸還是另有隱情形入,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布躏救,位于F島的核電站,受9級(jí)特大地震影響螟蒸,放射性物質(zhì)發(fā)生泄漏盒使。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一七嫌、第九天 我趴在偏房一處隱蔽的房頂上張望少办。 院中可真熱鬧,春花似錦诵原、人聲如沸英妓。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蔓纠。三九已至,卻和暖如春吗蚌,著一層夾襖步出監(jiān)牢的瞬間腿倚,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工蚯妇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敷燎,地道東北人暂筝。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像硬贯,于是被迫代替她去往敵國(guó)和親焕襟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容