自學JavaEE難嗎?
首先告訴你,其實自學JavaEE并不難,難得是如何避免走彎路。
以下是本人學習Java到做項目的經歷:
本人大學即將畢業那段時間,周圍的小伙伴都參加了某內的Java培訓班,他們的畢業設計基本上都是SSH框架,看他們調試代碼的時候,好復雜,一大堆XML文件,而當時我拿得出手的,能用來做WEB開發的只有Python,當時我的想法就是人生苦短,Java隨便寫個東西都要一大堆類和XML,吃棗藥丸,還是Python美滋滋,短小精悍。當時的別有設計用Python+Django做了一個分布式的安全檢測工具,順便還抽空幫班里同學做了幾個畢設,基本上一天一個,開發效率是真高。
后來遇到什么問題知道么,找工作的時候,我這城市,你一搜Python,呵呵,基本沒有,再一搜.NET,嗯,有一些了,最后一搜Java,好了,幾十頁的招聘,我懂了,我現在出去是找不到工作了。算了,讀個研吧。
讀研的時候,因為有了之前的教訓,開始學習Java。這會兒,我對面向對象編程還很不習慣,還是喜歡ASP那種從上寫到下的感覺。這個時候我覺得我比大家學習Java更難,因為已經接受了面向過程的思維模式。
我從負基礎學習Java到開始寫中型(不敢說大,沒用上分布式)項目(某省農業行政執法系統,包括Android端)一共花了2個月的時間,這是總時間,并不是有效時間,其中還包括平時上課啊,出去浪,晚上夜跑等等,還學習了JFinal,用JFinal仿了一個V2EX??傊鋵崒W習時間并沒有這么長,在2個月的時間里,我自學了Struts2、Spring、Hibernate。我自己比較愚鈍,不喜歡看書,所以這三個月基本上都是看視頻,但是看視頻其實是很有講究的,很多視頻你看完,還是云里霧里,看完不知道如何下手,我把這些視頻整理了下,視頻我可以分享給大家,大家可以私聊我。
很多人想問我,我是如何拿著視頻上學來的Struts2、Spring、Hibernate以一個人之力完成這個省項目的。其實,告訴大家,其實很多時候不是你沒能力做,而是你覺得自己做不來,只有硬著頭皮做了之后才發現,原來自己可以這么給力,項目做起來之后,并不難,做項目最難的是開始,萬事開頭難是有道理的。你做一個項目,總要準備點東西吧,比如數據庫怎么設計,對吧,數據庫設計你要先看有什么業務對吧,業務和業務之間有什么聯系,你這些都要搞清楚。我跑完需求后,用PowerDesigner建了模,不要覺得自己牛逼,直接建表,先建個模,然后你多看看,會發現很多問題的,要多修改,這個模型對整個項目的開發奠定了一個很好的基礎。數據庫建模完了,就要想怎么敲代碼了是吧,敲代碼總要有個技術選型吧,先看看Sturts2,對Spring還算兼容,馬馬虎虎,可是網上各種爆Struts2漏洞導致泄密,算了,硬著頭皮上SpringMVC吧,然后容器肯定是SpringIoC了,ORM模型,我只會Hibernate,那時候iBatis很火,看了一眼documentation,嗯,果然看字不適合我,看視頻又來不及了,那就Hibernate了。然后是數據庫,很多培訓機構里,培訓的都是Oracle,但是這個東西,我也沒時間學了,之前Python用的是SQLite,以前有點Access的基礎,那就MySQL吧,服務器就Tomcat。選型就基本上這樣了,數據庫、技術選型都好了,接下來干什么?我選擇先做一個執法人員的登陸界面來作為這個項目的hello world。因為只有你做出來了一點東西,你才會知道你需要什么,你才會知道框架怎么搭。這個從招標到項目上線不到半年,其中還流了一次標。半年的時間從招標到上線,其實時間很少很少。但是我覺得,我能做到,大部分的小伙伴也能做到。我這里還有這個項目的一些開發文檔,有興趣的可以私聊我。