Java工具及框架彙總

現在軟件的複雜度已經超過了程序員們理解的極限,咱們在每日的編程中不須要從輪子造起,衆多成熟穩定的框架能夠幫咱們簡化開發,避免踩坑。html

此文記錄了我平時工做中經常使用的一些框架,及其簡短介紹&引用方法。java

 

1、通用工具:

一、Guava:只用過cache,還覺得這只是個cache工具,弱爆了。

Guava=Google Java吧~程序員

Google Guava官方教程(中文版):http://ifeve.com/google-guava/數據庫

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>15.0</version>
</dependency>
二、Apache commons:與Guava相似,通用的工具集,目前工做中遇到過DBCP,DbUtils,FileUpload,IO這幾個。
<!-- fileupload -->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.2.2</version>
</dependency>
< !-- commons-io: I/O流處理工具 -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>
三、Joda-Time:日期/時間處理庫
<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>1.6.2</version>
    <scope>compile</scope>
</dependency>
四、mail:
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4</version>
</dependency>

 

2、數據庫:

一、c3p0

c3p0是一個開源的JDBC鏈接池,在業界也是比較有名的,是hibernate默認的鏈接池。apache

二、mybatis:

 

3、日誌:

一、log4j:
二、slf4j

簡單日誌門面,simple logging Facade for java。編程

主要功能:將業務代碼與日誌具體實現解耦。json

SLF4J是爲各類loging APIs提供一個簡單統一的接口,從而使得最終用戶可以在部署的時候配置本身但願的loging APIs實現。swift

http://swiftlet.net/archives/704數組

 

4、Web:

一、Spring
二、Jersey: RESTful Web Services in Java

相似的還有Spring MVCmybatis

三、JSOUP: Java HTML Parser
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.6.1</version>
</dependency>

四、Gson:Json Parser

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.2.2</version>
</dependency>

PS:json-lib在parse很長的json數組是有嚴重的性能問題,此時建議使用jackson代替,性能高不少。

參見:json工具性能比較:json-lib和jackson進行Java對象到json字符串序列化

五、httpclient

 

5、文檔處理:

一、openCSV:CSV解析的Java包
<dependency>
    <groupId>net.sf.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>2.1</version>
</dependency>
二、poi:office文檔操做,不過好吃內存
<dependency>
    <groupId>poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.8</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.6</version>
</dependency>

 

6、測試:

一、junit:
二、Mockito:尚未用過,學習下~
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>1.9.5</version>
</dependency>

官網:http://mockito.org/
javadocs:http://site.mockito.org/mockito/docs/current/org/mockito/Mockito.html

 

7、其餘

一、quartz:做業調度框架
<!-- Quartz -->
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>1.8.0</version>
</dependency>
相關文章
相關標籤/搜索