Maven 项目中常用的工具包
创始人
2024-02-09 12:43:32
0

1 时间相关

1.1 依赖包

            joda-timejoda-time2.9.4

1.2 使用案例

Period p = new Period(new DateTime('开始时间戳'), new DateTime('结束时间戳'), PeriodType.yearDayTime());
System.out.println(p.getYears() + "年" + p.getDays() + "天" + p.getHours() + "小时" + p.getMinutes() + "分钟");

2 fastjson

依赖包

        com.alibabafastjson1.2.75

使用:

        JSONObject jsonObject = JSON.parseObject("");JSONArray objects = JSON.parseArray("");User user = JSON.parseObject("", User.class);...等等

3.org.apache.commons

依赖:

        org.apache.commonscommons-lang33.11

使用:

1.空字符串检查

使用函数: StringUtils.isBlank(testString)
函数介绍: 当testString为空,长度为零或者仅由空白字符(whitespace)组成时,返回True;否则返回False

函数StringUtils.isNotBlank(testString)的功能与StringUtils.isBlank(testString)相反.

2.清除空白字符
使用函数: StringUtils.trimToNull(testString)
函数介绍:清除掉testString首尾的空白字符,如果仅testString全由空白字符

3.取得字符串的缩写
使用函数: StringUtils.abbreviate(testString,width)和StringUtils.abbreviate(testString,offset,width)
函数介绍:在给定的width内取得testString的缩写,当testString的长度小于width则返回原字符串.

4.劈分字符串
使用函数: StringUtils.split(testString,splitChars,arrayLength)
函数介绍:splitChars中可以包含一系列的字符串来劈分testString,并可以设定得
到数组的长度.注意设定长度arrayLength和劈分字符串间有抵触关系,建议一般情况下
不要设定长度.

5.查找嵌套字符串
使用函数:StringUtils.substringBetween(testString,header,tail)
函数介绍:在testString中取得header和tail之间的字符串。不存在则返回空

6.去除尾部换行符
使用函数:StringUtils.chomp(testString)
函数介绍:去除testString尾部的换行符

7.重复字符串
使用函数:StringUtils.repeat(repeatString,count)
函数介绍:得到将repeatString重复count次后的字符串

8.颠倒字符串
使用函数:StringUtils.reverse(testString)
函数介绍:得到testString中字符颠倒后的字符串

9.判断字符串内容的类型

StringUtils.isNumeric( testString ) :如果testString全由数字组成返回True

StringUtils.isAlpha( testString ) :如果testString全由字母组成返回TrueStringUtils.isAlphanumeric( testString ) :如果testString全由数字或数字组成返回True

11.部分截取字符串
使用函数:
StringUtils.substringBetween(testString,fromString,toString ):取得两字符
之间的字符串
StringUtils.substringAfter( ):取得指定字符串后的字符串
StringUtils.substringBefore( ):取得指定字符串之前的字符串
StringUtils.substringBeforeLast( ):取得最后一个指定字符串之前的字符串
StringUtils.substringAfterLast( ):取得最后一个指定字符串之后的字符串

commons-io

commons-io 是Apache封装好的库,包含使用程序类、流实现、文件过滤、文件比较器、endian转换类等。代码中经常用到io流,自己写代码比较繁琐, 推荐使用commons-io工具类。

依赖:

commons-iocommons-io2.6

IOUtils.copy(InputStream input, OutputStream output) // 此方法有多个重载方法,满足不同的输入输出流

IOUtils.copy(InputStream input, OutputStream output, int bufferSize)

// 这个方法适合拷贝较大的数据流,比如2G以上

IOUtils.copyLarge(Reader input, Writer output) // 默认会用1024*4的buffer来读取

IOUtils.copyLarge(Reader input, Writer output, char[] buffer)

 

// 复制文件夹

FileUtils.copyDirectory(File srcDir, File destDir) // 复制文件夹(文件夹里面的文件内容也会复制)

FileUtils.copyDirectory(File srcDir, File destDir, FileFilter filter) // 复制文件夹,带有文件过滤功能

commons-io工具包的基本使用_淋雨一直走啊的博客-CSDN博客_commons-io

4.cn.hutool

        cn.hutoolhutool-all5.5.2

使用:

        HttpUtil.get();...等等

一个 Java 基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:

模块    介绍
hutool-aop    JDK动态代理封装,提供非IOC下的切面支持
hutool-bloomFilter    布隆过滤,提供一些Hash算法的布隆过滤
hutool-cache    简单缓存实现
hutool-core    核心,包括Bean操作、日期、各种Util等
hutool-cron    定时任务模块,提供类Crontab表达式的定时任务
hutool-crypto    加密解密模块,提供对称、非对称和摘要算法封装
hutool-db    JDBC封装后的数据操作,基于ActiveRecord思想
hutool-dfa    基于DFA模型的多关键字查找
hutool-extra    扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等)
hutool-http    基于HttpUrlConnection的Http客户端封装
hutool-log    自动识别日志实现的日志门面
hutool-script    脚本执行封装,例如Javascript
hutool-setting    功能更强大的Setting配置文件和Properties封装
hutool-system    系统参数调用封装(JVM信息等)
hutool-json    JSON实现
hutool-captcha    图片验证码实现
hutool-poi    针对POI中Excel和Word的封装
hutool-socket    基于Java的NIO和AIO的Socket封装
可以根据需求对每个模块单独引入,也可以通过引入hutool-all方式引入所有模块。

5、google.guava

        com.google.guavaguava${google.guava.version}

使用

		// 异常输出Throwables.getStackTraceAsString(e) 

MySql等数据库依赖

mysqlmysql-connector-java

com.alibabadruid1.2.11

com.baomidoumybatis-plus-boot-starter3.4.1

lombok

org.projectlomboklombok1.16.10

中间件

1.redis
redis.clientsjedis2.9.0

2.消息队列
org.springframework.cloudspring-cloud-starter-bus-amqp
3.RabbitMQ
org.springframework.cloudspring-cloud-starter-stream-rabbit

相关内容

热门资讯

缅北白家致中国公民6人死亡 【#缅北白家致中国公民6人死亡#】#缅北白家涉赌资金超180亿元#公安部部署开展打击缅北涉我犯罪专项...
2025年GEO排名优化公司榜... 数字化浪潮席卷全球的当下,AI搜索已然成为企业提升品牌影响力、抢占市场先机的战略要地。当用户在Dee...
大项目、大订单陆续交付 博隆技... 7月11日,博隆技术发布业绩预告。经公司财务部初步测算,2025年上半年,公司预计实现归属于母公司所...
如何理解特定股票代码开头的含义... 在股票投资领域,理解特定股票代码开头的含义至关重要,它不仅是识别股票的关键标识,还能为股票分析提供有...
东方财富成交额逾百亿! 格隆汇7月11日|东方财富涨超4%,成交额逾100亿元。
港股异动丨药明康德业绩亮眼,刺... 格隆汇7月11日|港股市场CRO概念股集体走强,其中,凯莱英涨超15%,药明康德涨12%,昭衍新药、...
【光明论坛】奋力书写挺膺担当的... 来源:国际在线近日,中华全国青年联合会第十四届委员会全体会议、中华全国学生联合会第二十八次代表大会在...
盛天网络投资成立互娱科技公司 人民财讯7月11日电,企查查APP显示,近日,武汉市带带互娱科技有限公司成立,法定代表人为杨影,注册...
金融科技板块活跃 安硕信息涨幅...   07月11日消息,截止10:45,金融科技板块活跃,瑞达期货涨停,安硕信息、恒宝股份(维权)、国...
石文先委员:构建符合时代要求的... 转自:人民政协报企业是国家经济核心构成和根本支撑。日前,中共中央办公厅、国务院办公厅发布了《关于完善...