一、常用開發(fā)工具
作為一名 Java 程序開發(fā)人員,可選擇的集成開發(fā)環(huán)境 IDE(Integrated Development Environment)非常多,這得益于 Java 是一門開源語言。
有開源免費的;有商用收費的。
如何選擇一款適合自己的集成開發(fā)環(huán)境,亦或說選擇一款符合自己項目開發(fā)需要的集成開發(fā)環(huán)境。
選擇得當(dāng)能夠使得開發(fā)工作事半功倍;否則事倍而功半。
免費開源 Eclipse
Eclipse 最初是由 IBM 公司開發(fā)的替代商業(yè)軟件 Visual Age for Java 的下一代 IDE 開發(fā)環(huán)境,2001 年 11 月貢獻給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟 Eclipse 基金會(Eclipse Foundation)管理。
Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。
幸運地是 Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。
Eclipse 是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。
最初主要用來 Java 語言開發(fā),但是目前亦有人通過插件使其作為其他計算機語言比如 C++、PHP、Python 等語言的開發(fā)工具。
Eclipse 的本身只是一個框架平臺,但是眾多插件的支持使得 Eclipse 擁有其他功能相對固定的 IDE 軟件很難具有的靈活性。許多軟件開發(fā)商以 Eclipse 為框架開發(fā)自己的 IDE。
商用收費 MyEclipse
MyEclipse 是 Eclipse 的插件,也是一款功能強大的 J2EE 集成開發(fā)環(huán)境,由 Genuitec 公司發(fā)布,它是商用收費的。
MyEclipse 是對 Eclipse IDE 的擴展,利用它可以在數(shù)據(jù)庫和 JavaEE 的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。
它是功能豐富的 JavaEE 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持 HTML、Struts、JSP、CSS、Javascript、SQL,Hibernate,Spring。
Oracle 公司免費的 NetBeans
NetBeans 是 Sun 公司(2009 年被甲骨文收購)在 2000 年創(chuàng)立的開放源代碼供開發(fā)人員和客戶社區(qū)的家園,旨在構(gòu)建世界級的 Java IDE。
NetBeans 當(dāng)前可以在 Solaris、Windows、Linux 和 Macintosh OS X 平臺上進行開發(fā),并在 SPL(Sun 公用許可) 范圍內(nèi)使用,是一個屢獲殊榮的集成開發(fā)環(huán)境。
NetBeans 包括開源的開發(fā)環(huán)境和應(yīng)用平臺,NetBeans IDE 可以使開發(fā)人員利用 Java 平臺能夠快速創(chuàng)建 Web、企業(yè)、桌面以及移動的應(yīng)用程序,NetBeans IDE 目前支持 PHP、Ruby、JavaScript、Ajax、Groovy、Grails 和 C /C + + 等開發(fā)語言。
NetBeans 項目由一個活躍的開發(fā)社區(qū)提供支持, NetBean 開發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。
IntelliJ IDEA
IntelliJ IDEA 是一款綜合的 Java 編程環(huán)境,被許多開發(fā)人員和行業(yè)專家譽為市場上最好的 IDE。
它提供了一系列最實用的的工具組合:智能編碼輔助和自動控制,支持 J2EE,Ant,JUnit,SVN 和 Git 集成,非平行的編碼檢查和創(chuàng)新的 GUI 設(shè)計器。
IDEA 把 Java 開發(fā)人員從一些耗時的常規(guī)工作中解放出來,顯著地提高了開發(fā)效率。具有運行更快速,生成更好的代碼;持續(xù)的重新設(shè)計和日常編碼變得更加簡易,與其它工具的完美集成;很高的性價比等特點。
IntelliJ IDEA 以前是收費軟件,不過在 2009 年以后就開始推出了免費的社區(qū)開源版本。不過商用還是需要收費的。
Eclipse、MyEclipse、NetBeans 和 IntelliJ IDEA 的特點和適用場景:
Eclipse、MyEclipse、NetBeans 和 IntelliJ IDEA 這四個 IDE 有著不同的特性和優(yōu)點,根據(jù)開發(fā)的不同可能需要選擇不同的 IDE。
在 Java 開發(fā)的每個方面,這四個 IDE 都能勝任工作,然而根據(jù)你所做的不同開發(fā)例如 Swing 開發(fā),web 開發(fā)或者企業(yè)開發(fā),選擇 IDE 就有所偏向。
(1)Swing 開發(fā)
如果你專門從事 Swing 開發(fā),NetBeans 無疑是最好的選擇。
如果你沒有選擇 NetBeans 而是選擇了 Eclipse,建議使用 MyEclipse 和它的 Matisse4Eclipse 構(gòu)造器。
IDEA 由于對 JGoodies Forms 的支持,所以在開發(fā) Swing 方面與前兩者相比并不占有優(yōu)勢。
(2)JSP/Struts 開發(fā)
開發(fā) JSP/Struts 首選的是 IDEA,接下來是 MyEclipse,然后是 NetBeans,由于缺少對內(nèi)建 Struts 的支持,Eclipse 的基本版本沒有競爭優(yōu)勢。
(3)JSF 開發(fā)
在開發(fā) JSF 方面,這三個 IDE 可以說都是很好的選擇,但是 IDEA 可能會更好一點,接下來是 Eclipse/MyEclipse,最后是 NetBeans。
(4)企業(yè)開發(fā)
由于 NetBeans 對 JPA 的支持和它產(chǎn)生代碼的質(zhì)量以及對持久化單元合適的設(shè)置,所以在企業(yè)開發(fā)方面,NetBeans 是首選,接下來是 IDEA。
由于 Eclipse 的 Dali 項目的限制,Eclipse 可能是最后選擇的。如果放棄標(biāo)準(zhǔn)的 JPA,從事 Hibernate 開發(fā),MyEclipse 是最好的選擇。
除了上面提到的這四款由大公司開發(fā)的 IDE 外,JAVA 開發(fā)的 IDE 還有很多,例如 Spring 基于 eclipse 推出的 STS Spring Tool Suite、小而且快的 JCreator。
但是以上最常用的 eclipse 和 IntelliJ IDEA。
國內(nèi) Java 開發(fā)人員使用的最多也是 eclipse 和 IntelliJ IDEA。筆者用的最多是 eclipse 及 Spring 基于 eclipse 推出的 STS。
二、常用接口測試工具
作為一名開發(fā)人員,完成開發(fā)工作后,單元測試及接口測試必不可少。單元測試不用說了,Java 人員幾乎都是使用 JUnit 及 JUnit 相關(guān)的測試框架。
對于接口測試呢?有什么工具可以使用呢?在說工具之前先來了解兩個問題。
什么是接口測試?
用來檢查各個組件的接口的測試,接口測試主要檢查外部系統(tǒng)與系統(tǒng)之間以及各個子系統(tǒng)之間的交互點,測試的重點在數(shù)據(jù)的傳遞上。
為什么要做接口測試?
如果項目全部推行單元測試,時間上不允許,而接口測試是一種特殊的單元測試,覆蓋率沒有做到所謂的單元測試的百分之百。
不過覆蓋了所有的面像用戶的功能點,而且接口測試可以采用自動化 + 持續(xù)集成的方式,節(jié)約時間了成本,同時提高了效率。
java 第三方包 httpclient
如果使用 httpclient 進行接口測試,免不了開發(fā)人員還需要自己動手去編寫代碼,這個不是首選方案。筆者也不推薦這個方案,增加了程序人員的工作強度。
Postman
Postman 是一款功能非常棒的 Chrome 擴展,提供功能強大的 API&HTTP 請求調(diào)試。它可以發(fā)送幾乎所有類型的 HTTP 請求,并可以附帶任何數(shù)量的參數(shù)和請求頭(headers)。
可以說 Postman 滿足了 HTTP 接口測試的大部分功能,只有少部分的功能不被支持,比如:請求流程的控制;使得程序員可以在編寫一些單元測試中解脫出來。