开发者

SpringBoot中事半功倍的工具类合集分享

开发者 https://www.devze.com 2023-02-08 10:27 出处:网络 作者: 香菜+
目录1、签名解码1.1 DigestUtils 加密算法工具类1.2 Base64Utils2、文件操作2.1 FileCopyUtils FileSystemUtils2.2 StreamUtils 流的读取,写入2.3 SerializationUtils 序列化3、数据转换3.1 NumberUtils 数字转换之
目录
  • 1、签名解码
    • 1.1 DigestUtils 加密算法工具类
    • 1.2 Base64Utils
  • 2、文件操作
    • 2.1 FileCopyUtils FileSystemUtils
    • 2.2 StreamUtils 流的读取,写入
    • 2.3 SerializationUtils 序列化
  • 3、数据转换
    • 3.1 NumberUtils 数字转换之类
    • 3.2 ObjectUtils 判断类型
    • 3.3 StringUtils 字符串
    • 3.4 PatternMatchUtils 正则表达式工具类
    • 3.5 CollectionUtils集合工具类
  • 4、反射工具类
    • 4.1 ReflectionUtils 反射手术刀
    • 4.2 ClassUtils
    • 4.3 TypeUtils
    • 4.4 AnnotatedElementUtils和 AnnotationUtils
    • 4.5 BeanUtils
  • 5、其他
    • 5.1 ResourceUtils 资源访问
    • 5.2 SystemPropertyUtils占位符解析工具类
  • 6、总结

    在日常开发中经常有这样那样的小功能需要实现,这些一般会作为工具类存在,在项目中有一些通用的功能,Spring内置了需要工具类,而且经过了大量的验证,可以在开发中助你一臂之力,代码也比较稳定,学习下这些工具类,让你的工作如虎添翼

    这是一篇归纳的文章,直接上,因为工具类太多,也不好记忆,所以分几个模块,可以参考目录关注自己想看的工具类。

    大部分的工具类在Spring-core包下,可以在IDE中打开这些类,更详细的了解WEppX,这边介绍一些常用的工具方法

    1、签名解码

    1.1 DigestUtils 加密算法工具类

    byte[] shas = MessageDigest.getInstance("MD5").digest("香菜".getBytes());
    String encodekey = DigestUtils.md5DigestAsHex("md5".getBytes());System.out.println(encodekey);

    常见的对称加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES

    常见的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

    常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1

    1.2 Base64Utils

    用于Base64解码和编码,直接看提供了哪些方法,解码使用decode,编码使用encode

    SpringBoot中事半功倍的工具类合集分享

    2、文件操作

    2.1 FileCopyUtiandroidls FileSystemUtils

    FileCopyUtils 提供了多个将文件内容拷贝到各种目标对象中的方法

    SpringBoot中事半功倍的工具类合集分享

    FileSystemUtils 主要文件夹的操作,拷贝和删除

    SpringBoot中事半功倍的工具类合集分享

    2.2 StreamUtils 流的读取,写入

    StreamUtils是spring中用于处理流的类

    SpringBoot中事半功倍的工具类合集分享

    2.3 SerializationUtils 序列化

    deserialize 反序列化serialize 序列化

    3、数据转换

    3.1 NumberUtils 数字转换之类

    这个类看起来很明白了,方法名也很直白,基本是字符串转换

    SpringBoot中事半功倍的工具类合集分享

    3.2 ObjectUtils 判断类型

    主要是对象的判空和比较

    3.3 StringUtils 字符串

    这个是最常用的字符串类了,内容很多,就不一一列举了

    3.4 PatternMatchUtils 正则表达式工具类

    SpringBoot中事半功倍的工具类合集分享

    3.5 CollectionUtils集合工具类

    这个集合类看名字吧,都是一些集合方面的操作,map,list,Array

    4、反射工具类

    4.1 ReflectionUtils 反射手术刀

    这个类主要用来做一些反射工作,比如方法的查找,调用方法,访问属性等

    下面调几个典型的,这里面有很多的重载方法,根据自己的需求选用

    // 在类中查找指定方法
    Method findMethod(Class<?> clazz, String name) 
    // 提供方法参数
    Object invokeMethod(Method method, Object target, Object... args) 
    //查找字段
    Field findField(Class<?> clazz, String name, Class<?> type) 
    // 获取 target 对象的 field 属性值
    Object getField(Field field, Object target)

    4.2 ClassUtils

    这个主要用来获取开发者_C培训class的属性

    // 获取对象的所有接口
    Class<?>[] allInterfaces = ClassUtils.getAllInterfacjavascriptes(new Player());
    // 获取某个类的包名
    String packageName = ClassUtils.getPackageName(Player.class);
    // 判断某个类是否内部类
    ClassUtils.isInnerClass(Player.class);
    // 判断对象是否代理对象
    ClassUtils.isCglibProxy(new Player());

    4.3 TypeUtils

    主要是类型继承的关系类,平常用的不多

    SpringBoot中事半功倍的工具类合集分享

    4.4 AnnotatedElementUtils和 AnnotationUtils

    看名字也知道是处理注解相关的,在开发一些框架性的功能时,自定义一个注解做一些功能,使用这个工具类简直不要太轻松

    这两个类的函数非常丰富,很多重载函数

    4.5 BeanUtils

    主要是bean的一些操作,这个是Spring-bean包下的

    SpringBoot中事半功倍的工具类合集分享

    5、其他

    5.1 ResourceUtils 资源访问

    主要是资源访问的方法,它支持“classpath:”和“file:”的地址前缀,它能够从指定的地址加载文件资源,主要有两种,一种是获取文件,一种是判断

    SpringBoot中事半功倍的工具类合集分享

    5.2 SystemPropertyUtils占位符解析工具类

    这个工具类看名字是解析系统属性的,主要原理是通过依赖Properthttp://www.devze.comyPlaceholderHelper

    SystemPropertyUtils.resolvePlaceholders("${os.name}/testphp")

    6、总结

    这些工具类的方法贼多,记不住,不过有所谓,只要在需要使用的时候去对应的工具类查找就行了

    以上就是SpringBoot中事半功倍的工具类合集分享的详细内容,更多关于SpringBoot工具类的资料请关注我们其它相关文章!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号