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

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

廖万里2年前 (2022-10-27)文章7446

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

分享到:

添加博主微信共同交流探讨信息差网赚项目: 19528888767 , 请猛戳这里→点我添加

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

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

马斯克倡议设台湾特别行政区,台地区专家:不希望台海冲突,反映商人普遍心声

马斯克倡议设台湾特别行政区,台地区专家:不希望台海冲突,反映商人普遍心声

 美国电动车大厂特斯拉公司创办人马斯克针对台海紧张局势,提出中国将台湾地区设为“特别行政区”方案。彰化师范大学创意创新创业研究中心主任王信文接受香港中评社访问表示,特斯拉电动车有75%的供应链来自台湾,马斯克当然不希望台海冲突,波及商业发展,这某方面也反映商人普遍心声,商人会作此呼吁,代表已嗅到战争...

英国“最富首相”苏纳克如何一路开挂?

英国“最富首相”苏纳克如何一路开挂?

当地时间10月24日下午两点,是英国保守党在下议院党团1922委员会设定的提交新任保守党党首选举提名的截止时间。在成功获得了197名保守党议员提名,且两位对手约翰逊和莫当特先后宣布退选后,前任财政大臣里希·苏纳克成为唯一符合“入闸”条件的党首候选人,按程序自动当选。随后,苏纳克在保守党中央党部发表了...

嫦娥五号样品揭秘:月球如何“延寿”8亿年?

嫦娥五号样品揭秘:月球如何“延寿”8亿年?

文 | 《中国科学报》记者 冯丽妃嫦娥五号玄武岩与阿波罗玄武岩形成示意图。受访者供图月球一直“活到”了什么时候?这是月球演化历史研究中科学家一直想了解的一个重大科学问题。一年前,中科院地质与地球物理研究所(以下简称地质地球所)的科学家们利用嫦娥五号带回的月球样品,证明月球在距今20亿年前仍喷发过滚烫...

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

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

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

2022年浏览器行业前景:手机浏览器产品趋于智能化

2022年浏览器行业前景:手机浏览器产品趋于智能化

我们遇到不懂的问题,第一反应可能就是用浏览器搜索一下答案,就可以找到自己想了解的东西。我国的手机浏览器已经逐渐走向成熟,浏览器产品趋于智能化,各大手机浏览器竞争激烈。国产手机浏览器企业如果想要在市场上占有一席之位,不仅要在技术上下功夫,也要在商业模式上创新。以下是对2022年手机浏览器行业前景分析。...

win10中文输入法不显示文字怎么办 win10中文输入法不显示文字的解决方法

win10中文输入法不显示文字怎么办 win10中文输入法不显示文字的解决方法

现在大家肯定都是通过中文输入法的拼音来输入文字,不过最近有很多用户反映在使用win10系统的中文输入法总是不显示文字,打不出汉字了,那么遇到这种情况的话,要怎么解决呢?下面小编就给大家带来了win10中文输入法不显示文字的解决方法,感兴趣的朋友快来了解下吧。   win10中文输入法不显示...

发表评论

访客

看不清,换一张

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