下面介紹一下Jakarta下的Commons:一個csdn網友描述得很貼切,Commons就好比一個java百寶箱。
commons分為3部分Commons Proper、Commons Sandbox和Commons Dormant
Commons Proper:提供了設計良好可重用的java組件,并都經過了廣泛、嚴格的測試。
Commons Sandbox:處于實驗、測試階段的組件。
Commons Dormant:處于停滯狀態,從Sandbox退出的,不活躍的組件,謹慎使用。
Commons Proper組件:
- Attributes—— 支持源代碼級的元數據。
- BeanUtils——提供對 Java 反射和自省API的包裝,處理javabean的工具。
- Betwixt——將JavaBeans與XML相互轉換。?
- Chain——對Chain of Responsibility(責任鏈)設計模式的實現。使多個對象都有機會處理請求,?從而避免請求的發送者和接收者之間的耦合關系。將這些對象連成一條鏈,并沿著這條鏈傳遞請求,直到有一個對象處理它為止。
- CLI——處理命令行的命令的解析。
- Codec——包含一些通用的編碼解碼算法。包括一些語音編碼器, Hex, Base64, 以及URL encoder。
- Collections——擴展和增加標準的 Java Collection框架。
- Configuration——操作各種格式的配置文件。Properties文件 /XML文件 /JNDI /JDBC 數據源 /System properties /Applet parameters?/?Servlet parameters
- Daemon——創建類似unix守護線程的java代碼,可以安全地執行一些后臺操作,線程不被某個應用程序控制,而是由操作系統控制?類似windows的service,可以設置一個服務依賴于另一個服務,一個服務關閉前必須先執行另一個服務。
- DBCP——一個數據庫連接池
- DbUtils——一個JDBC的工具類,比如可以將ResultSets生成javabean。
- Digester——基于規則的XML文檔解析,主要用于XML到Java對象的映射.
- Discovery——提供工具來定位資源 (包括類) ,通過使用各種模式來映射服務/引用名稱和資源名稱。
- EL——JSP 2.0引入的表達式
- Email——處理e-mail
- FileUpload——web應用中的文件上傳組件
- HttpClient——使用HTTP協議的客戶端開發框架
- IO——幫助進行IO功能開發
- Jelly——Jelly能夠把XML轉換成可執行代碼,所以Jelly是一個基于XML與Java的腳本和處理引擎。 Jelly借鑒了JSP定指標簽,Velocity, Cocoon和Xdoclet中的腳本引擎的許多優點。Jelly可以用在命令行,Ant或者Servlet之中。
- Jexl——Jexl是一個表達式語言,通過借鑒來自于Velocity的經驗擴展了JSTL定義的表達式語言。
- JXPath——使用XPath語法操作javabean的工具。
- Lang——提供對java.lang包的擴展。?
- Launcher——跨平臺的java程序的啟動
- Logging——提供的是一個日志(Log)接口(interface),同時兼顧輕量級和不依賴于具體的日志實現工具。 它提供給中間件/日志工具開發者一個簡單的日志操作抽象,允許程序開發人員使用不同的具體日志實現工具。用戶被假定已熟悉某種日志實現工具的更高級別的細節。JCL提供的接口,對其它一些日志工具,包括Log4J, Avalon LogKit, and JDK 1.4等,進行了簡單的包裝,此接口更接近于Log4J和LogKit的實現.
- Math——Math 是一個輕量的,自包含的數學和統計組件,解決了許多非常通用但沒有及時出現在Java標準語言中的實踐問題.
- Modeler—— 支持兼容JMX規范的MBeans開發。
- Net——集合了網絡工具和協議工具的實現
- Pool——Commons-Pool 提供了通用對象池接口,一個用于創建模塊化對象池的工具包,以及通常的對象池實現。
- Primitives——對java原始類型的支持。
- SCXML——處理SCXML
- Transaction——事務處理,實現了多層次鎖、事務集合、事務文件的訪問。?
- Validator——提供了一個簡單的,可擴展的框架來在一個XML文件中定義校驗器 (校驗方法)和校驗規則。支持校驗規則的和錯誤消息的國際化。
- VFS——訪問各種文件系統,可以是本地文件、HTTP服務器上的文件、zip中的文件。
Commons Sandbox組件:
- Compress——處理壓縮文件如tar, zip 和 bzip2 格式。
- CSV——處理CSV文件
- Exec——安全地處理外部進程
- Finder——實現類似UNIX find命令的功能
- I18n——處理軟件的I18n功能
- Id——生成id號功能
- Javaflow——捕捉程序運行狀態
- JCI——java編譯接口
- OpenPGP——處理加密方法OpenPGP.?
- Pipeline——處理類似工作隊列的管道工具
- Proxy——生成動態代理?