久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > Java常用工具介紹

Java常用工具介紹 時間:2019-10-21      來源:成都中心,朱老師

JDK

 JDK (Java Development Kit)是Java開發的必備基礎工具集。它包含了JAVA的運行環境(JVM+Java系統類庫)和許多JAVA工具實用命令。

 最初JDK是由發明java語言的公司SUN提供的,后來Oracle公司購買了java語言的版權,從此官方的JDK由Oracle提供。開發人員可以免費下載JDK并利用它來開發java程序。

 若僅僅使用JDK,在任何文本編輯器(如:Windows 記事本、Notepad++等)編寫Java源文件,然后在DOS下用javac.exe命令將Java源程序編譯成class字節碼,然后通過Java.exe命令來執行class文件,這是DOS時代程序員的美好回憶,也是Java 初學者一般采用的方式,能夠很快理解程序中各部分代碼之間的關系,有利于理解Java面向對象的設計思想。但是,要想從事大規模企業級Java應用開發復雜的應用軟件,僅僅靠這種辦法是不夠的,我們還要采取更多先進的工具,以利于團體協同開發。

Eclipse

 Eclipse是著名的跨平臺的自由集成開發環境,最初是由IBM公司用java語言開發而成,是IBM的商業軟件Visual Age for Java的替代品。Eclipse被貢獻給開源社區,由非營利軟件供應商聯盟Eclipse基金會(Eclipse Foundation)管理。

 由于Eclipse 是一個開放源代碼的開放型、可擴展開發平臺,就其本身而言,它只是一個框架和一組服務,可通過插件來組合出不同功能開發環境。

 Eclipse 附帶了一個標準的插件集,包括 Java 開發工具(Java Development Tools,JDT)。許多軟件開發商以Eclipse為基礎來開發自己的IDE,通過插件使其作為其他計算機語言比如C++、PHP、Python等語言的開發工具。眾多插件的支持使得Eclipse擁有很高的靈活性。

(1)MyEclipse

 MyEclipse是Genuitec公司在標準的Eclipse基礎上,通入加入很多實用插件而開發出來的一款商用收費的IDE。它可以方便進行數據庫應用開發,整合了完備的編碼、調試、測試和發布的功能,完美支持HTML、Struts、JSP、CSS、Javascript、SQL、Hibernate,Spring等框架的整合,極大的提高了工作效率。

(2)STS

 通過改造Eclipse,Spring官方提供了針對利用Spring框架來開發應用的強大工具SpringToolSuite,使用該工具可以很輕易地生成一個spring工程,許多配置文件都會自動為你生成而無需你過多的操心它們,特別是在使用springboot開發方式時更加方便。STS的界面風格和eclipse相同。

IntelliJ IDEA

 IDEA 全稱 IntelliJ IDEA,是java編程語言集成開發環境,被公認為是最好的java開發工具之一,它在智能代碼輔助、重構、JavaEE支持、GUI設計等方面的功能是超常的,與各類版本工具(git、svn等)、Ant、JUnit、CVS能方便的整合 。

 IDEA把Java開發人員從一些耗時的常規工作中解放出來,顯著地提高了開發效率,能生成更好的代碼,使持續的重新設計和日常編碼變得簡易。

 IntelliJ IDEA是收費軟件,也推出了免費的社區開源版本,它是JetBrains公司的產品,這家公司還開發了各種IDE工具用于支持不同的編程語言,除了IntelliJ IDEA之外,還有PhpStorm用于php開發,PyCharm用于Python,WebStorm用于HTML/CSS/JS,AppCode用于Object-C是XCode的替代物。

測試工具JUnit

 JUnit是一個Java語言的單元測試框架,被多數Java開發環境集成。Junit測試是程序員測試,即所謂白盒測試,因為程序員知道被測試的軟件如何(How)完成功能和完成什么樣(What)的功能。Junit在接口測試、回歸測試、極限編程方面都能夠發力。

(1)接口測試

 junit不僅能做單元測試,且方便進行接口測試。所謂的接口測試是用來檢查各個組件之間的接口調用的正確性的測試,即外部系統與系統之間以及各個子系統之間的交互點,測試的重點在數據的傳遞上。之所以推行接口測試是由于如果項目全部用單元測試的話可能時間上不允許,而接口測試是一種特殊的單元測試,覆蓋率沒有做到所謂的單元測試的百分之百,但是覆蓋了面向用戶的所有功能點,也可采用自動化+持續集成的方式,節約時間了成本,同時提高了效率。

(2)回歸測試框架

 JUnit是一個回歸測試框架(regression testing framework),在代碼重構時,要求改一點測一點,減少回歸錯誤造成的時間消耗。

(3)極限編程

 極限編程要求在編寫代碼之前先寫測試,這樣可以強制你在寫代碼之前好好的思考代碼(方法)的功能和邏輯,否則編寫的代碼很不穩定,那么你需要同時維護測試代碼和實際代碼,工作量大大增加。在極限編程中,基本過程是這樣的:構思-> 編寫測試代碼-> 編寫代碼-> 測試,而且編寫測試和編寫代碼都是增量式的,寫一點測一點,在編寫以后的代碼中如果發現問題可以較快的追蹤到問題的原因,減小回歸錯誤的糾錯難度。

Maven

 Maven是基于項目對象模型并可以通過一小段描述信息來管理項目構建、報告和文檔生成的軟件項目管理工具。它簡化了構建過程,無縫銜接了編譯、發布、文檔生成、團隊合作和其他任務。它能夠同時構建多個工程、發布工程信息、部署工程、在幾個工程中共享 JAR 文件,并且協助團隊合作。

Maven為我們統一管理jar包,它把這些jar包存放在本地倉庫中。

 maven把項目的構建劃分為不同的生命周期(lifecycle)。粗略包括:編譯、測試、打包、集成測試、驗證、安裝、部署。maven中所有的執行動作(goal)都需要指明自己在這個過程中的執行位置,然后maven執行的時候,就依照過程的發展依次調用這些goal進行各種處理。

gradle

 Gradle是一個基于Apache Ant和Apache Maven概念的項目自動化構建開源工具。它使用Groovy語言來聲明項目設置,拋棄了基于XML的各種繁瑣配置。它面向Java應用為主,計劃未來將支持更多的語言。

 Gradle是maven的替代品,目前功能超越了maven,是一款通用靈活的構建工具,也能與maven共存使用。它免費開源,gradle的整體設計是以作為一種語言為導向的,而非成為一個嚴格死板的框架。

它支持傳遞性依賴管理,而不需要遠程倉庫或者是pom.xml和ivy.xml配置文件。

gradle對多工程的構建支持很出色,工程依賴是gradle的第一公民。

 gradle支持局部構建。支持多方式依賴管理:包括從maven遠程倉庫、nexus私服、ivy倉庫以及本地文件系統的jars或者dirs。

 gradle項目可以輕松遷移,適用于任何結構的工程,你可以在同一個開發平臺平行構建原工程和gradle工程。

Apache Commons類庫

 Apache Commons是一個Apache項目,提供了功能齊全的通用Java組件。它是一套開發源碼、免費使用、商業友好的優秀API,是Java官方API的補充。它在一定程度上反映了一線Java開發人員的實際需求,java官方類庫的編寫也常常參照Apache Commons的內容。當你看到它時,一定會被它的簡單而強大所吸引。

 如果你至少參與了一個中型規模的Java項目,那么很有可能你已經使用到了Apache Commons,不管你自己有沒有察覺。其實有很多所謂的商業框架其實內部有些模塊是借用Commons的,甚至有一些完全就是對Commons的類進行了簡單的封裝。

 學習和使用Apache Commons相當有意義,一方面,它可以給你帶來生產力的大幅提升;二是你可以從中學到許多課本上學不到的東西:編碼習慣、代碼組織、注釋、文檔、如何用Java解決實際問題、特定問題的算法等等。

Apache Commons的官方主頁是//commons.apache.org/。

Apache Commons中的套件很多,這里只簡單例舉幾個常用的

組件名——用途

Collections Java Collection框架擴展和增強

DBCP 數據庫連接池服務

DbUtils JDBC幫助函數庫

FileUpload 為Servlet和Web應用程序提供文件上傳功能

IO I/O工具集合

Lang 為java.lang中的類提供附加功能。

Logging 對各種日志API實現的封裝

Math 輕量級、字包含數學和統計組件

Validator 通過xml文件定義驗證器和驗證規則的框架

數據框架Mybatis

 MyBatis 是一款優秀的持久層框架。它簡單易學,且體積很小,沒有任何第三方依賴,安裝簡單只需要兩三個jar文件加幾個sql映射文件就行。通過文檔和經典項目代碼,可以比較完全的掌握它的設計思路和實現。

 MyBatis解除了sql與程序代碼的耦合:通過提供DAO層,將業務邏輯和數據訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。

 MyBatis 把sql寫在xml里,便于統一管理和優化。通過sql語句可以滿足操作數據庫的所有需求。sql和代碼的分離,提高了可維護性,且并未對應用程序或者數據庫的現有設計強加任何影響。還可以將sql寫在注解中,但這種做法并不流行。

MyBatis支持編寫動態sql,能夠完成復雜的應用需求。

Spring框架

 java企業級開發的曾經標準是EJB,然而EJB規范十分復雜,學習起來也非常艱苦,而Spring出現的初衷就是為了解決這些問題。spring采用IOC機制將市面上優秀的框架揉和在一起建立起一個連貫的體系,提供了統一、高效的方式構造整個應用。絕大部分Java應用都可以從Spring中受益。

其基本特征有:

(1)是一個輕量級控制反轉(IoC)框架

(2)是面向切面(AOP)框架

(3)簡單易測試,方便集成junit

(4)松耦合,完全面向接口

(5)申明式事務

(6)使用基本的JavaBean來完成以前只可能由EJB完成的事情

(7)輕量——從大小與開銷兩方面而言Spring都是輕量的。

spring在發展過程中,除了糅合其它優秀工具,也不斷的豐富各種功能,這些包括

DAO模塊

提供了JdbcTemplate組件,可以用于替代Mybatis等數據框架。

支持JPA,這是和Hibernate共同完成的。

spring也編寫了連接池對象,實現了DataSource接口,這可作為選用。

Spring的AOP模塊提供了事務管理服務。

對象/關系映射

 Spring并不試圖實現它自己的ORM解決方案,而是為幾種流行的ORM框架提供了集成方案,包括Hibernate、JDO和iBATIS SQL映。

Spring的Web模塊

 Web模塊提供了一個適合于Web應用的上下文。這個模塊還提供了一些面向服務支持,例如:實現文件上傳的multipart請求,郵件發送的支持、spring自己的標簽支持。此外它也能夠和其它Web框架集成,比如Struts。

Spring的MVC框架

 Spring為Web應用提供了一個功能全面的MVC框架,在此之間雖然有Struts已經十分流行,但Spring的創始人Rod Johnson認為當時流行的各種MVC框架都有各種各樣的缺陷,因而在spring中也增加了MVC的功能。

 比如,它允許你聲明性地將請求參數自動綁定到業務對象中,還可以利用其它服務,例如國際化信息與驗證。

解決Web頁面亂碼問題

 在做java Web 項目時,亂碼問題時常都會出現,解決方法也不盡相同,有簡單也有復雜的;如果加入了Spring框架之后就不一樣了,可以采用Spring框架自帶的過濾器CharacterEncodingFilter,這樣可以大大減輕了我們的工作量,即簡單方便又容易理解。

類型轉換

提供了通用的類型轉換器:converter和formatter(格式化)。

校驗

 為了驗證表單數據的正確性,采用了兩種方案,一是實體bean來校驗,這是使用國際驗證標準JSR303,是與hibernate共同完成的。二是利用Spring Validator接口,這適合更為復雜的場景。

springboot

 為了方便應用程序的構建, SpringBoot應用而成,它集成了各種框架的使用配置,提供了大量的便利性,還能很好的支持分布式開發。

 springboot項目以jar的方式運行,是普通的java application,但它內嵌了tomcat容器,因而免部署war包,也避免了我們自行安裝tomcat。它簡化了maven配置,提供了starter pom來簡化依賴加載。它使用更多注解,符合spring4的推薦。它有更強的“自動配置”,配置所寫的位置不同了,且盡量用“注解+純java代碼配置”的方式。

 springboot遵循“習慣優于配置”的理念,程序員只需要進行少量配置。

springboot還支持運行時監控。

ActiveMQ

 Apache ActiveMQ是Apache軟件基金會所研發的開放源代碼消息中間件。由于ActiveMQ是一個由Java語言開發的應用程序,因此我們需要在操作系統上先安裝Java虛擬機,才能執行ActiveMQ。

 ActiveMQ可以很方便的和spring整合使用。實際上,市面上的其它各種消息系統,如activeMQ、RabitMQ、kafka等等都可以被spring整合使用。

 

上一篇:基于Linux下的C語言項目實戰--本地賬號管理系統

下一篇:STM32用什么軟件編程?

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部