簡體   English   中英

我應該了解Java開發堆棧的哪些組件?

[英]What components of a Java development stack should I know about?

我對Java開發的了解非常有限。 我遇到了以下相當令人生畏的組件/工具/框架清單,這些清單被稱為“非常典型的Java堆棧”。 我將繼續研究這些問題,但是我還應該了解哪些事情? 下面的替代方法,或此列表中未包含的其他組件類型。

我的主要意圖是進行一些Scala開發,但實際上涉及很多與Java的交互。

  • 便門
  • 休眠(JPA)
  • Atomikos(JTA)
  • 紅陶
  • 小門推(Cometd)
  • 道場
  • 縱橫比
  • XStream的
  • 測試NG
  • 數據庫單元
  • 輕松模擬
  • 的MySQL
  • 碼頭
  • 馬文
  • 哈德森

編輯:當我說“知道”時,我並不是說要深入了解他們以及如何與他們一起發展。 我的意思是我應該了解它們的用途,並確定何時考慮使用它們。 因此,我有興趣了解所有常見的工具/技術/框架,以便可以對此進行初步調查。

這是用於大型服務器園區Web應用程序的相當大的技術組合。

我建議您專注於Java核心運行時,並首先學習它,因為這是所有其他技術最終要建立的基礎。


編輯:由於您專注於技術,因此建議您首先學習如何在Java EE 6服務器(如GlassFish v3)中編寫和部署Scala程序,我認為這很好。 原因很簡單-您列出的所有技術都是單獨的實體,需要將它們結合在一起才能工作。 通過使用Java EE服務器,您可以在一個軟件包中獲得很多功能 ,因此可以推遲實際的修補工作,直到您更加熟悉基於Java的Web平台上的Scala環境為止。

當您從“我已經編寫了一個Scala程序”到“我已經將Scala程序編寫並部署到了我的生產Java EE服務器(可以在此網頁上看到)”之后,您實際上已經完成了不費吹灰之力工作。

我只會評論使用自己使用的技術

  • Hibernate(JPA)-此框架使您可以輕松地將關系數據庫記錄作為普通的舊Java對象使用
  • Dojo-Javascript庫,可輕松進行客戶端操作。 如果您主要進行服務器端開發,則幾乎不必擔心這一點。
  • AspectJ-滿足跨領域需求的面向方面的編程的實現 這是一個深兔子洞。 這使您可以通過功能方式與Java代碼進行交互。
  • DBUnit-我僅將其用作工具來預加載帶有大量測試記錄的數據庫
  • EasyMock-測試庫,可讓您輕松專注於單項功能的單元測試
  • MySQL-標准RDMS
  • Jetty-Servlet容器的純Java實現。 非常適合快速開發。
  • Maven-一種構建工具,用於管理項目的依賴關系以及構建/部署項目

將您的列表放在待辦事項列表上,然后從功能強大的IDE(Eclipse或NetBeans)開始。

我認為首先要添加的是日志記錄框架(log4j)和測試框架(jUnit或TestNG)。 對於建築-建議您在轉向Maven之前先看一下螞蟻。

哈德森很棒,但(僅在我看來)如果您也使用版本控制,問題跟蹤工具和構建工具,這才有意義。

我認為自己是Java開發人員,您列表中確實有一個我真正使用過的項目(XStream)。 另外,我知道其他5個項目,但其中大多數我從未聽說過。

我認為,當涉及到“非常典型的Java堆棧”時, http://download.oracle.com/javase/7/docs/api/overview-summary.html上的內容要優先於其他內容。 如果您不知道標准運行時中已經擁有的框架,又如何知道需要什么其他框架? 有大約40000個課程需要了解。 每天學習十個,十年后您將掌握基礎知識:-)

  • Smack API-良好的XMPP協議API
  • 撒克遜-XSLT處理器
  • Spring Framework-Web開發平台
  • PostgreSQL-很棒的RDBMS :)
  • Java的
  • .....

還有很多很多。

至少您不見了:

  • EJB
  • JMS
  • JAXWS

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM