java 常用 jar 包

1 Lombok 是一个 java 类库,它利用注解方式自动生成 java bean 中 getter、setter、equals 等方法,还能自动生成 logger、toString、hashCode、builder 等 日志相关变量、Object 类方法或设计模式相关的方法,能够让你的 代码更简洁,更美观。

Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,就有一个功能齐全的构建器、自动记录变量等等

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<version>1.18.20</version>

<scope>provided</scope>

</dependency>

2 druid是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制、连接可靠性测试、连接泄露控制、缓存语句等功能,另外,druid还扩展了监控统计、防御SQL注入等功能。

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.1.16</version>

</dependency>

3 Dubbo作为一款优秀的RPC框架,在国内有着众多的使用者,自从2018年2月,Dubbo被阿里捐献给Apache基金会以后,Dubbo似乎以全新的名称 Apache Dubbo焕发了新的生命力。虽然有着同样优秀和优势的Spring Clould框架,但是Dubbo能焕发新生也是一件好事,期待着Dubbo能够完善机制,更新迭代出的更好。

<dependency>

<groupId>org.apache.dubbo</groupId>

<artifactId>dubbo-spring-boot-starter</artifactId>

<version>3.0.7</version>

</dependency>

4 Apache Kudu 是一个针对 Apache Hadoop 平台而开发的列式数据存储(Columnar Data Store)管理器。

Apache Kudu是由Cloudera开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。Kudu支持水平扩展,使用Raft协议进行一致性保证,并且与Cloudera Impala和Apache Spark等当前流行的大数据查询和分析工具结合紧密。

<dependency>

<groupId>org.apache.kudu</groupId>

<artifactId>kudu-client</artifactId>

<version>1.13.0</version>

</dependency>

5 Hive-jdbc驱动程序

<dependency>

<groupId>org.apache.hive</groupId>

<artifactId>hive-jdbc</artifactId>

<version>2.1.1-cdh6.3.2</version>

<exclusions>

<exclusion>

<groupId>org.eclipse.jetty</groupId>

<artifactId>jetty-runner</artifactId>

</exclusion>

</exclusions>

</dependency>

6 Impala 是 Cloudera 公司主导开发的新型查询系统,它提供 SQL 语义,能查询存储在 Hadoop 的 HDFS 和 HBase 中的 PB 级大数据

<dependency>

<groupId>Impala</groupId>

<artifactId>ImpalaJDBC42NoLog4j</artifactId>

<version>2.6.24.1029</version>

</dependency>

7 cat 引入这个以后cat项目就能监控到你访问的url

CAT(Central Application Tracking)是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控。关于CAT的具体介绍可移步到CAT官网进行查阅。

<!-- 点评cat-->

<dependency>

<groupId>com.dianping.cat</groupId>

<artifactId>cat-client</artifactId>

<version>3.0.0</version>

</dependency>

8Joda-Time 是Joda提供的一个遵循Apache2.0 开源协议的 JDK以外的优质日期和时间开发库。

<dependency>

<groupId>joda-time</groupId>

<artifactId>joda-time</artifactId>

<version>2.10.5</version>

</dependency>

为什么使用Joda-Time

使用方便:Calendar 访问"正常的"日期困难,并且缺乏简单的防腐,Joda-Time 拥有简单的字段访问,比如获得年的 getYear() 和 获得星期 中的天 getDayOfWeek() 。

易于扩展:JDK支持通过使用子类实现多个日历系统,但是这是非常笨重的,并且在实现中很难先出另一个日历系统。Joda-Time 支持基于 Chronology 类实现多个可插拔的日历系统。

功能全面:Joda-Time 提供了所有的日期和时间计算的必须功能,它提供了既装即用的特性。

最新的时区计算:时区的实现基于公共时区信息数据库,每年更新数次。新版本的Joda-Time 包括了这个数据库的所有更改,应尽早进行必要的更新,手动更新区域数据很容易。

日历支持:提供了8中日历系统。

互通性:内部使用毫秒进行标识,这与JDK或者其他公共的时间表示相一致。

性能良好:支持针对所有访问的域进行最小的计算。

良好的测试覆盖率:有全方位的测试人员保证库的质量、

具有完整文档:有一个完整的用户指南,改指南提供了一个概述,涵盖常见的使用场景。javadoc 非常详细,涵盖API的其余部分。

发展:自2002年以来积极发展,是一个成熟的可靠的代码库,一些相关的项目目前也是可用的。

开源:遵循Apache 2.0开源协议发布。

2.1.2 Joda-Time 的关键优点

LocalDate:只包含日期

LocalTime:只包含时间

Instant:时间轴上的时间点

DateTime:时区中完整的日期和时间

DateTimeZone:更好的时区

Duration和Period:持续时间

Interval:两个时间点之间的时间

全面并且灵活的时间格式化与转换

8 解析XML文件前面我们说过映射文件是XML格式,数据库配置文件也可以是XML格式,因此如果能解析XML文件我们就可以获取这两个文件的信息

<dependency>

<groupId>xml-apis</groupId>

<artifactId>xml-apis</artifactId>

<version>1.4.01</version>

</dependency>

9 org.jasig.cas.client

CAS单点登录技术

<!--cas -->

<dependency>

<groupId>org.jasig.cas.client</groupId>

<artifactId>cas-client-support-distributed-ehcache</artifactId>

<version>3.3.3</version>

<exclusions>

<exclusion>

<groupId>xalan</groupId>

<artifactId>serializer</artifactId>

</exclusion>

</exclusions>

</dependency>

10 json-lib,算是很早的转换工具了,用的人很多,说实在现在完全不适合了,缺点比较多,依赖的第三方实在是比较多,效率低下,API也比较繁琐,说他纯粹是因为以前的老项目很多人都用到它

jackson一直很主流,社区和文档支持也很充足,但有人还是嫌它不够快,不够简洁,于是便有了fastjson,看名字就知道它的主要特点就是快,可能在功能和其他支持方面不能和jackson媲美,但天下武功,唯快不破,这就决定了fastjson有了一定的市场

dependency>

<groupId>net.sf.json-lib</groupId>

<artifactId>json-lib</artifactId>

<version>2.4</version>

<classifier>jdk15</classifier>

</dependency>

<dependency>

<groupId>xom</groupId>

<artifactId>xom</artifactId>

<version>1.1</version>

</dependency>

<dependency>

<groupId>xalan</groupId>

<artifactId>xalan</artifactId>

<version>2.7.1</version>

</dependency>

11 commons-lang3

commons-lang3是Apache的Jakarta commons工程下具有一系列公共基础类。

<dependency>

<groupId>org.apache.commons</groupId>

<artifactId>commons-lang3</artifactId>

<version>3.9</version>

</dependency>

12 Spring Retry 是Spring框架中的一个组件, 它提供了自动重新调用失败操作的能力。这在错误可能是暂时发生的(如瞬时网络故障)的情况下很有帮助。

<dependency>

<groupId>org.springframework.retry</groupId>

<artifactId>spring-retry</artifactId>

</dependency>

13 Apache POI 简介是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel、WORD、PowerPoint、Visio等)格式档案读和写的功能。POI为"Poor Obfuscation Implementation"的首字母缩写,意为"可怜的模糊实现"。

Apache POI常用的类

HSSF - 提供读写Microsoft Excel XLS格式档案的功能。

XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。

HWPF - 提供读写Microsoft Word DOC97格式档案的功能。

XWPF - 提供读写Microsoft Word DOC2003格式档案的功能。

HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

HDGF - 提供读Microsoft Visio格式档案的功能。

HPBF - 提供读Microsoft Publisher格式档案的功能。

HSMF - 提供读Microsoft Outlook格式档案的功能。

<dependency>

<groupId>org.apache.poi</groupId>

<artifactId>poi</artifactId>

<version>4.0.0</version>

</dependency>

<dependency>

14 knife4j

Knife4j【快速开始】是为Java MVC框架集成Swagger生成API文档的增强解决方案(在非Java项目中也提供了前端UI的增强解决方案),前身是Swagger2,取名Knife4j是希望她能像一把匕首一样小巧、轻量,并且功能强悍。

<dependency>

<groupId>com.github.xiaoymin</groupId>

<artifactId>knife4j-spring-boot-starter</artifactId>

<version>2.0.3</version>

</dependency>

15 guava工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率。谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来。所以就诞生了guava。guava遵循高效的java语法实践,可以使程序员节约时间,提高生产力

guava的核心库

集合 [collections]

缓存 [caching]

原生类型支持 [primitives support]

并发库 [concurrency libraries]

通用注解 [common annotations]

字符串处理 [string processing]

I/O 等等。

<dependency>

<groupId>com.google.guava</groupId>

<artifactId>guava</artifactId>

<version>30.1.1-jre</version>

</dependency>

17 org.glassfish 参数校验 Java约束验证

<dependency>

<groupId>org.glassfish</groupId>

<artifactId>javax.el</artifactId>

<version>3.0.1-b11</version>

</dependency>

18 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

<dependency>

<groupId>com.xuxueli</groupId>

<artifactId>xxl-job-core</artifactId>

<version>2.3.0</version>

</dependency>

19 EasyExcel能很快速的读取写入超大Excel文件

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>easyexcel</artifactId>

<version>3.0.5</version>

</dependency>

20 Janino 是一个极小、极快的 开源Java 编译器(Janino is a super-small, super-fast Java™ compiler.)。Janino 不仅可以像 JAVAC 一样将 Java 源码文件编译为字节码文件,还可以编译内存中的 Java 表达式、块、类和源码文件,加载字节码并在 JVM 中直接执行。Janino 同样可以用于静态代码分析和代码操作。

<!-- logback文件中使用if判断需要 -->

<dependency>

<groupId>org.codehaus.janino</groupId>

<artifactId>janino</artifactId>

<version>3.0.7</version>

</dependency>

21

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的"。

Hutool中的工具方法来自于每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;

Hutool是项目中"util"包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。

1.2 由来

Hutool = Hu + tool,是原公司项目底层代码剥离后的开源库,"Hu"是公司名称的表示,tool表示工具。Hutool谐音"糊涂",一方面简洁易懂,一方面寓意"难得糊涂"。

cn.hutool工具库----强大的工具库

<dependency>

<groupId>cn.hutool</groupId>

<artifactId>hutool-all</artifactId>

<version>5.7.15</version>

</dependency>

22 mapstruct是用来快速处理entity对象的属性复制的

<dependency>

<groupId>org.mapstruct</groupId>

<artifactId>mapstruct</artifactId>

<version>1.5.0.Beta2</version>

</dependency>

23 Quartz的使用部署定时任务

<dependency>

<groupId>org.quartz-scheduler</groupId>

<artifactId>quartz</artifactId>

<version>2.2.3</version>

</dependency>

24 AWS S3的Java代码实现

<dependency>

<groupId>com.amazonaws</groupId>

<artifactId>aws-java-sdk-s3</artifactId>

<version>1.12.296</version>

</dependency>

25ANTLR4是一款优秀的开源语法解析器

<dependency>

<groupId>org.antlr</groupId>

<artifactId>antlr4</artifactId>

<version>4.12.0</version>

</dependency>

相关推荐
魔道不误砍柴功16 分钟前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_23416 分钟前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨19 分钟前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
测开小菜鸟2 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity3 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天3 小时前
java的threadlocal为何内存泄漏
java
caridle3 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^3 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋33 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
秋の花3 小时前
【JAVA基础】Java集合基础
java·开发语言·windows