ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-10-25 14:01:01  阅读:260  来源: 互联网

标签:工具 代码 springboot 数组 集合


不知大家有没有注意到,接手的项目中存在多个重复的工具类,发现其中很多功能,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)
 
// 获取 URL
static 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:

// 获取被代理的目标 class
Class<?> getTargetClass()

3.AopContext

获取当前对象的代理对象:

Object currentProxy()

标签:工具,代码,springboot,数组,集合
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有