如今软件的复杂度已经超过了程序员们理解的极限,我们在每日的编程中不需要从轮子造起,众多成熟稳定的框架可以帮我们简化开发,避免踩坑。
此文记录了我平时工作中常用的一些框架,及其简短介绍&引用方法。
一、通用工具:
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>
2、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>
3、Joda-Time:日期/时间处理库
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>1.6.2</version>
<scope>compile</scope>
</dependency>
4、mail:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
二、数据库:
1、c3p0:
c3p0是一个开源的JDBC连接池,在业界也是比较有名的,是hibernate默认的连接池。
2、mybatis:
三、日志:
1、log4j:
2、slf4j:
简单日志门面,simple logging Facade for java。
主要功能:将业务代码与日志具体实现解耦。
SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。
http://swiftlet.net/archives/704
四、Web:
1、Spring
2、Jersey: RESTful Web Services in Java
类似的还有Spring MVC
3、JSOUP: Java HTML Parser
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.6.1</version>
</dependency>
4、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字符串序列化
5、httpclient
五、文档处理:
1、openCSV:CSV解析的Java包
<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>2.1</version>
</dependency>
2、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>
六、测试:
1、junit:
2、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
七、其他
1、quartz:作业调度框架
<!-- Quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.0</version>
</dependency>