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

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

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

     不知大家有没有注意到,接手的项目中存在多个重复的工具类,发现其中很多功能,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 转载需授权!

分享到:

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


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

“双11”,如何守住钱袋子?

“双11”,如何守住钱袋子?

“双十一”快到了,“剁手”的大斧已高高举起。购物车收藏83件,有的商品开启定价预售模式小姐姐的化妆品要不少钱呀,也不知比平时便宜多少最近几天,同事们都在热议“双十一”。 今年的“双十一”跟以往相比有新变化,比如,缩短预售时间、扩容购物车、差价一键退,不少平台还从晚上8点开始销售等。自从2009年开始...

骁龙8和骁龙8+的日常体验,到底有多大差距?

骁龙8和骁龙8+的日常体验,到底有多大差距?

机哥写过一篇文章。主要呢,就是盘点了今年那些跳水比较严重的旗舰手机。像什么OPPO Find X5 Pro天玑版啊、小米12 Pro啊、一加10 Pro啊等等。相比起刚上市时定价,现在这些机型,普遍的降价幅度都超过了2000块。原本是卖5000多,现在却只卖3000多。。机哥当时发完文章,底下很大一...

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

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

宇宙中发现比光速更快的速度?事实被澄清,这不过是种错觉

宇宙中发现比光速更快的速度?事实被澄清,这不过是种错觉

有比光速更快的速度吗?来自遥远爆炸星系的伽马射线爆发(如图中所示)发射的光比我们所看到的可见光更强大,但这并不意味着它们的速度更快。2018年,天文学家在研究哈勃太空望远镜图像中的两颗碰撞中子星时注意到了一个奇怪的现象:一股明亮的高能粒子流,以 4~7 倍于光速的速度从合并处喷向地球方向。这似乎有些...

你是怎么发现你的同事很有钱的?

你是怎么发现你的同事很有钱的?

躲在舒适区09月10日关注曾经就职的一家公司里有一个文员,大专学历,胖乎乎的很可爱,一看就没什么心机。穿着打扮也看不出什么特别的地方。文员工作嘛,也没看出来她有什么特长。结果公司有一次外事活动,随行的翻译临时生病,反正公司大部分人都会些英语,就没额外配置翻译。外商最后和公司财务交流时沟通有些不顺,这...

任务栏总是卡死是什么原因 三种win10任务栏频繁卡死的解决方法

任务栏总是卡死是什么原因 三种win10任务栏频繁卡死的解决方法

 任务栏总是卡死没反应想必很多小伙伴都碰到过吧,尤其是win10系统碰到这种情况的时候很多,小编在网上仔细研究了一番,发现出现这种情况的原因是多样的,小编用自己的联想笔记本总结了一些原因,当然了也为大家附带了三种解决方法,大家快来看看吧。   相关推荐:电脑任务栏没反应但是桌面有反应怎么办...

发表评论

访客

看不清,换一张

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