当前位置:首页 > 文章 > 正文内容

SpringBoot内置工具类,告别瞎写工具类了

廖万里3年前 (2022-10-27)文章7543

     不知大家有没有注意到,接手的项目中存在多个重复的工具类,发现其中很多功能,Spring 自带的都有。于是整理了本文,希望能够帮助到大家!

一、断言

  • 断言是一个逻辑判断,用于检查不应该发生的情况

  • Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启

  • SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查

查看代码

二、对象、数组、集合

1.ObjectUtils

获取对象的基本信息:

查看代码

判断工具:

查看代码

其他工具方法:

// 向参数数组的末尾追加新元素,并返回一个新数组<A, O extends A> A[] addObjectToArray(A[] array, O obj) 
// 原生基础类型数组 --> 包装类数组Object[] toObjectArray(Object source)
复制成功!

2.StringUtils

字符串判断工具:

查看代码

字符串操作工具:

查看代码

路径相关工具方法:

查看代码

3.CollectionUtils

集合判断工具:

查看代码

集合操作工具:

查看代码

三、文件、资源、IO 流

1.FileCopyUtils

输入:

// 从文件中读入到字节数组中byte[] copyToByteArray(File in) 
// 从输入流中读入到字节数组中byte[] copyToByteArray(InputStream in) 
// 从输入流中读入到字符串中String copyToString(Reader in)
复制成功!

输出:

查看代码

2.ResourceUtils

从资源路径获取文件:

// 判断字符串是否是一个合法的 URL 字符串。static boolean isUrl(String resourceLocation)
 // 获取 URLstatic URL getURL(String resourceLocation)
 // 获取文件(在 JAR 包内无法正常使用,需要是一个独立的文件)static File getFile(String resourceLocation)
复制成功!

Resource:

查看代码

3.StreamUtils

输入:

查看代码

输出:

查看代码

四、反射、AOP

1.ReflectionUtils

获取方法:

查看代码

执行方法:

// 执行方法Object invokeMethod(Method method, Object target)
 // 同上,提供方法参数Object invokeMethod(Method method, Object target, Object... args)
 // 取消 Java 权限检查。以便后续执行该私有方法void makeAccessible(Method method)
 // 取消 Java 权限检查。以便后续执行私有构造方法void makeAccessible(Constructor<?> ctor)
复制成功!

获取字段:

// 在类中查找指定属性Field findField(Class<?> clazz, String name)
 // 同上,多提供了属性的类型Field findField(Class<?> clazz, String name, Class<?> type)
 // 是否为一个 "public static final" 属性boolean isPublicStaticFinal(Field field)
复制成功!

设置字段:

查看代码

2.AopUtils

判断代理类型:

// 判断是不是 Spring 代理对象boolean isAopProxy()
 // 判断是不是 jdk 动态代理对象isJdkDynamicProxy() 
// 判断是不是 CGLIB 代理对象boolean isCglibProxy()获取被代理对象的 class:// 获取被代理的目标 classClass<?> getTargetClass()3.AopContext获取当前对象的代理对象:Object currentProxy()
复制成功!

本文链接:https://www.kkkliao.cn/?id=160 转载需授权!

阅读剩余的61%

版权声明:本文由廖万里的博客发布,如需转载请注明出处。


“SpringBoot内置工具类,告别瞎写工具类了” 的相关文章

每晚泡脚15分钟,五年下来会有哪些变化?

每晚泡脚15分钟,五年下来会有哪些变化?

剑心学者10月07日关注我是每到秋季与冬季才开始泡脚,尽量做到每晚都泡。当然经期除外。每次用艾叶、生姜、花椒煮沸后加水泡15到20分钟左右。泡到全身发热为止。坚持两年了。我身体湿气较重,随时舌头都有齿痕,夏天怕热冬天怕冷,手脚冰凉的。现在最大改变就是晚上睡觉不穿袜子,脚也不冰凉。还是有一定的效果。当...

netcore有好用的word(docx)、excel(xlsx)及pdf 处理库吗?

如题,所有需求都基于开源免费库基础word主要用来做模版替换,能有docx转pdf最好excel主要用来导入导出,能生成导入模版文件,能设置每个导入模版的下拉框数据(能从数据库读数据)pdf主要用来添加水印文件或者图片。在此感谢分享...

“双十一”部分手机价格先涨价再降价?券后价格反而比平时贵

“双十一”部分手机价格先涨价再降价?券后价格反而比平时贵

记者 宗智10月24日晚上八点,“双十一”的“先锋号角”已然奏响。从“光棍节”到全民参与的消费狂欢日,从最初的27个商家到现在来自全球各地的29万个品牌,互联网电商一路高歌猛进,其规模与影响力不断扩大,连续创造了13年“神话”。然而,随着消费者生活水平的提升,平台补贴活动走向日常化,低价早已不再是“...

小米12SPro深度体验评测,什么叫“水 桶 旗 舰”啊?

小米12SPro深度体验评测,什么叫“水 桶 旗 舰”啊?

首先,依然是祖传一句话评价:补齐了唯一短板的水桶旗舰。其实就像年初的时候评价小米12Pro一样,今年的12系列看得出小米是在努力的优化体验,而不是单纯的堆叠参数,所以更注重手感的12和12S,以及徕卡加持下算法提升、影调有明显改善的小米12S Ultra便应运而生,至于今年的12Pro和12S Pr...

这才是华为手机正确的截屏方法,居然有9种不同的功能,太强大了

这才是华为手机正确的截屏方法,居然有9种不同的功能,太强大了

说起华为手机的截屏功能,很多朋友都会想到“指关节截屏”,这是华为手机特有的一种截屏方式。但是大家知道吗?其实除了“指关节截屏”,华为手机还有很多截屏的方法,有一些是非常实用的。平时我们发现一些有意义的画面、或者好看的视频,都可以用截屏的方式保存下来,因此多掌握几种截屏方法,还是很有帮助的!这篇文章就...

菜鸟驿站,取件免费,那它是怎么盈利的,内行透露出了实情

菜鸟驿站,取件免费,那它是怎么盈利的,内行透露出了实情

引言:互联网的发展让人们的消费方式逐渐发生改变。以前大众需要购买商品的时候,都必须去到实体店中,但现在仅仅通过网络就可以购买到自己想要的物品。随着互联网购物行业的飞速发展,快递行业也发展得如火如荼,快递量的需求而逐渐增加。菜鸟驿站也随之出现。菜鸟驿站取件是不用收费的,对此,有不少人就感到好奇,竟然不...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。