在开发应用时正确使用一些开源第三方工具包,可以极大地提升开发效率。本系列介绍运用极为广泛的工具包,并给出选型优先级建议。
工具类选型优先级
- Apache Commons —— 工具类第一选择之一:不仅被成千上万开源工具使用,更是学习 Java 编程比较好的代码参考。详见 Apache Common 包
- Google Guava —— 工具类第一选择之二:Google 出品,必属精品。详见 Google Guava 包
- Hutool —— 国产工具类库,优点是比较全、比较实用;注意它采用木兰宽松许可证(第 1 版),商业项目最好咨询法务部门。详见 Hutool 包
- Spring 工具类 —— Spring 应用中,排在上述通用库之后,第二优先级考虑
spring-core-xxx.jar的 util 包。详见 Spring 常用工具类
专项工具库
日志类库
Java 日志库是最能体现 Java 库进化中渊源关系的:重点理解日志框架本身和日志门面(比如桥接的设计),具体使用时查接口即可。详见 日志类库详解。
JSON 类库
JSON 应用非常广泛,对常用的 FastJson、Jackson 和 Gson 作具体阐述;其中考虑到 FastJson 的代码质量、漏洞和坑等,应该尽量避免使用。详见 JSON 库详解。
Lombok
非常实用的 Java 工具,可用来消除 Java 的冗长代码(尤其是 POJO)。原编者并不主动推荐使用它,但因为使用量很大,仍有必要掌握——不仅要知道如何使用和它解决了什么问题,还要知道它的坑。详见 Lombok 工具库详解。
MapStruct
主要用于解决对象之间的拷贝问题(PO/DTO/VO/QueryParam 之间的转换)。区别于 BeanUtils 通过反射实现,它通过编译器生成常规方法,可以很大程度提升效率。详见 MapStruct 工具库详解。
其它常用类库
其它类库体系很庞大,但工具类的原则是:只需要查找、会使用即可。详见 其它常用类库。
系列导航
本系列还包括: