-
1 # 玩著學程式設計
-
2 # 坐不住的程式狗
首先告訴你,其實自學JavaEE並不難,難得是如何避免走彎路。
以下是本人學習Java到做專案的經歷:
本人大學即將畢業那段時間,周圍的小夥伴都參加了某內的Java培訓班,他們的畢業設計基本上都是SSH框架,看他們除錯程式碼的時候,好複雜,一大堆XML檔案,而當時我拿得出手的,能用來做WEB開發的只有Python,當時我的想法就是人生苦短,Java隨便寫個東西都要一大堆類和XML,吃棗藥丸,還是Python美滋滋,短小精悍。當時的別有設計用Python+Django做了一個分散式的安全檢測工具,順便還抽空幫班裡同學做了幾個畢設,基本上一天一個,開發效率是真高。
後來遇到什麼問題知道麼,找工作的時候,我這城市,你一搜Python,呵呵,基本沒有,再一搜.NET,嗯,有一些了,最後一搜Java,好了,幾十頁的招聘,我懂了,我現在出去是找不到工作了。算了,讀個研吧。
讀研的時候,因為有了之前的教訓,開始學習Java。這會兒,我對面向物件程式設計還很不習慣,還是喜歡ASP那種從上寫到下的感覺。這個時候我覺得我比大家學習Java更難,因為已經接受了面向過程的思維模式。
我從負基礎學習Java到開始寫中型(不敢說大,沒用上分散式)專案(某省農業行政執法系統,包括Android端)一共花了2個月的時間,這是總時間,並不是有效時間,其中還包括平時上課啊,出去浪,晚上夜跑等等,還學習了JFinal,用JFinal仿了一個V2EX。總之,其實學習時間並沒有這麼長,在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。因為只有你做出來了一點東西,你才會知道你需要什麼,你才會知道框架怎麼搭。這個從招標到專案上線不到半年,其中還流了一次標。半年的時間從招標到上線,其實時間很少很少。但是我覺得,我能做到,大部分的小夥伴也能做到。我這裡還有這個專案的一些開發文件,有興趣的可以私聊我。
-
3 # IT人劉俊明
自學JavaEE需要一定的基礎,為了瞭解JavaEE的內容,我們看一下最新的JavaEE API都包括了哪些內容:
目前java SE的最新版本是9,而EE目前的最新版本是8。javaEE的API包含了23個部分,每個部分都是能獨立完成任務的功能集合。所以說JavaEE的內容還是非常多的,學習的過程也頗為漫長。
雖然JavaEE的內容比較多,但是如果設計一個合理的流程,逐步展開學習,那麼總的來說還是不太難的。快速入門的途徑就是設計一個學習的主線,從這條主線開始往外擴充套件,慢慢的這些內容就都能涉及到了。下面就看一下這條主線從SE到EE都是什麼:
學習的第一步是學習JavaSE,也就是基礎部分。要學習JavaEE必須有堅實的SE基礎,這部分包括了面向物件的核心概念、面向物件的開發過程等內容。
第二步開始學習使用java來操作資料庫,這個時候需要學習一個數據庫產品(推薦Mysql)和JDBC。因為資料庫操作是現在進行程式開發不可或缺的部分,大部分程式都需要使用資料庫完成資料的管理。
學習RMI進行分散式開發,使用RMI+JDBC+Swing完成一個三層開發的實驗。學習到這個階段就可以進行一些小專案的開發實踐了,比如可以自己動手實現一個基於網路儲存的個人通訊錄,或者基於網路儲存的個人理財計劃等等。這部分內容比較鍛鍊學習者的程式碼能力和學習能力,因為在解決問題的過程中會遇到新問題,需要檢視api文件或者網路資料來解決問題。
學習javaWeb開發。這個階段就已經進入了EE部分了。首先要學習的是Servlet和JSP,這部分內容重點是瞭解java的網路服務機制,瞭解容器的概念和功能,以及如何編寫並部署web應用。透過Servlet和Jsp以及javaBean可以建立一個基於MVC框架的應用(java官方把這種結構稱為Model2結構),再結合之前學習的JDBC以及RMI內容可以做一個原始的基於分散式環境部署執行的web應用。這個過程會涉及到與使用者之間的溝通,這個時候就會學習到Java Mail API了;會涉及到訊息的接收和處理,這個時候就可以學習JMS了;會涉及到安全處理,這個時候就可以學習JSA了;會涉及到資料庫的事務管理,這個時候就可以學習JTA了。
學習EJB(重量級開發,目前使用較少),當需要提高伺服器處理能力時,需要考慮把業務處理模組從web容器中獨立處理,單獨建立一個容器,以便於池化管理Bean元件,這個時候就需要考慮使用EJB了(也可以考慮使用Spring等輕量級容器)。EJB的學習是比較麻煩的,早期的EJB開發是個痛苦的過程,我從2004年開始使用EJB進行電力系統的專案開發,開發一個Bean需要較長的時間,部署也比較麻煩。EJB分為SessionBean、EntityBean和MessageBean(訊息驅動),目前EJB的開發已經大量借鑑了Spring等可配置輕量級容器的思想,所以開發起來已經沒有那麼複雜了。但是我個人比較傾向使用Spring等架構,EJB在處理問題的時候還是“太重”了。也許在EE9版本出來之後會有一個比較大的改善,讓我們拭目以待吧!
以上是我推薦的一個學習的路線,但是最好是一邊實踐一邊學習。另外這個學習過程是漫長的,最好在學習完WEB開發之後,參加一個開發團隊。透過實際專案來不斷提高,雖然工作會影響學習的進度,但是畢竟也會帶來實戰方面的提高,也會得到不菲的收入。
回覆列表
初學Java,如果以一種比較好玩的方式來學習的話,學起來還是比較簡單的,而且還可以極大的激發對程式設計的興趣,學起來也不是很枯燥。
以前學習Java的時候,看的是 “ 如鵬網 ”的《這樣學Java不枯燥》影片教程,挺好玩的。初學的時候,免安裝jdk,無需配置環境變數,只需要下載 如鵬網 免配版的eclipse開啟就行了,特別的方便,為初學者免去不少的麻煩。
課程體系的設定,也是比較有意思的,透過開發超級瑪麗,飛機大戰,吃金幣,連連看,電影的彈幕動畫,湯姆貓等經典小遊戲來講解Java的基礎知識點,沒想到Java還可以這麼學,挺炫酷的。
詳細的可以到 如鵬網 官網上去了解一下,有問題隨時提問,老師實時線上答疑,影片教程,課件,原始碼等都是可以免費下載的,口碑不錯,基本上都是慕名而去的。
JavaEE的學習路線以及重要的知識點,可以參考一下。
第一部分:Java語言基礎第二部分:Java高階技術第三部分:web前端第四部分:Javaweb程式設計(核心階段)第五部分:企業框架第六部分:專案階段(專案截圖可訪問如鵬網官網)第七部分:企業專題有網路的地方就可以學習,根據自己的時間來靈活安排學習進度,每個章節的後面都有相應的練習題和麵試口才題,需要以錄音的方式進行提交,為以後的面試做準備,有新的課程更新了,也是可以繼續申請了來學習的,比如說,Java的提高課程,也是可以繼續學習的。
Java提高學習路線
第一階段:第二階段:NoSQL第三階段:設計模式第四階段:分散式技術第五階段:綜合專案