当前位置:   article > 正文

java Hutool 工具包的使用_hutools执行script

hutools执行script

今天给大家推荐一个非常好用的Java工具类库,企业级常用工具类,基本都有,能避免重复造轮子及节省大量的开发时间,非常不错,值得大家去了解使用。

Hutool谐音 “糊涂”,寓意追求 “万事都作糊涂观,无所谓失,无所谓得” 的境界。

Hutool 是一个 Java 工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以 “甜甜的”。Hutool 最初是我项目中 “util” 包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。

一、功能

一个 Java 基础工具类,对文件、流、加密解密、转码、正则、线程、XML 等 JDK 方法进行封装,组成各种 Util 工具类,同时提供以下组件:

  • to

    ol-aop JDK 动态代理封装,提供非 IOC 下的切面支持

  • hutool-bloomFilter 布隆过滤,提供一些 Hash 算法的布隆过滤

  • hutool-cache 缓存

  • hutool-core 核心,包括 Bean 操作、日期、各种 Util 等

  • hutool-cron 定时任务模块,提供类 Crontab 表达式的定时任务

  • hutool-crypto 加密解密模块

  • hutool-db JDBC 封装后的数据操作,基于 ActiveRecord 思想

  • hutool-dfa 基于 DFA 模型的多关键字查找

  • hutool-extra 扩展模块,对第三方封装(模板引擎、邮件等)

  • hutool-http 基于 HttpUrlConnection 的 Http 客户端封装

  • hutool-log 自动识别日志实现的日志门面

  • hutool-script 脚本执行封装,例如 Javascript

  • hutool-setting 功能更强大的 Setting 配置文件和 Properties 封装

  • hutool-system 系统参数调用封装(JVM 信息等)

  • hutool-json JSON 实现

  • hutool-captcha 图片验证码实现

二、安装

maven项目在pom.xml添加以下依赖即可:

  1. <dependency>
  2.     <groupId>cn.hutool</groupId>
  3.     <artifactId>hutool-all</artifactId>
  4.     <version>4.6.3</version>
  5. </dependency>

三、简单测试

DateUtil

日期时间工具类,定义了一些常用的日期时间操作方法。

  1. //Date、long、Calendar之间的相互转换
  2. //当前时间
  3. Date date = DateUtil.date();
  4. //Calendar转Date
  5. date = DateUtil.date(Calendar.getInstance());
  6. //时间戳转Date
  7. date = DateUtil.date(System.currentTimeMillis());
  8. //自动识别格式转换
  9. String dateStr = "2017-03-01";
  10. date = DateUtil.parse(dateStr);
  11. //自定义格式化转换
  12. date = DateUtil.parse(dateStr, "yyyy-MM-dd");
  13. //格式化输出日期
  14. String format = DateUtil.format(date"yyyy-MM-dd");
  15. //获得年的部分
  16. int year = DateUtil.year(date);
  17. //获得月份,从0开始计数
  18. int month = DateUtil.month(date);
  19. //获取某天的开始、结束时间
  20. Date beginOfDay = DateUtil.beginOfDay(date);
  21. Date endOfDay = DateUtil.endOfDay(date);
  22. //计算偏移后的日期时间
  23. Date newDate = DateUtil.offset(date, DateField.DAY_OF_MONTH, 2);
  24. //计算日期时间之间的偏移量
  25. long betweenDay = DateUtil.between(date, newDate, DateUnit.DAY);

StrUtil

字符串工具类,定义了一些常用的字符串操作方法。

  1. //判断是否为空字符串
  2. String str = "test";
  3. StrUtil.isEmpty(str);
  4. StrUtil.isNotEmpty(str);
  5. //去除字符串的前后缀
  6. StrUtil.removeSuffix("a.jpg"".jpg");
  7. StrUtil.removePrefix("a.jpg""a.");
  8. //格式化字符串
  9. String template = "这只是个占位符:{}";
  10. String str2 = StrUtil.format(template, "我是占位符");
  11. LOGGER.info("/strUtil format:{}", str2);

NumberUtil

数字处理工具类,可用于各种类型数字的加减乘除操作及判断类型。

  1. double n1 = 1.234;
  2. double n2 = 1.234;
  3. double result;
  4. //对float、double、BigDecimal做加减乘除操作
  5. result = NumberUtil.add(n1, n2);
  6. result = NumberUtil.sub(n1, n2);
  7. result = NumberUtil.mul(n1, n2);
  8. result = NumberUtil.div(n1, n2);
  9. //保留两位小数
  10. BigDecimal roundNum = NumberUtil.round(n12);
  11. String n3 = "1.234";
  12. //判断是否为数字、整数、浮点数
  13. NumberUtil.isNumber(n3);
  14. NumberUtil.isInteger(n3);
  15. NumberUtil.isDouble(n3);
  16. BeanUtil
  17. JavaBean的工具类,可用于Map与JavaBean对象的互相转换以及对象属性的拷贝。
  18. PmsBrand brand = new PmsBrand();
  19. brand.setId(1L);
  20. brand.setName("小米");
  21. brand.setShowStatus(0);
  22. //Bean转Map
  23. Map<StringObject> map = BeanUtil.beanToMap(brand);
  24. LOGGER.info("beanUtil bean to map:{}", map);
  25. //Map转Bean
  26. PmsBrand mapBrand = BeanUtil.mapToBean(map, PmsBrand.classfalse);
  27. LOGGER.info("beanUtil map to bean:{}", mapBrand);
  28. //Bean属性拷贝
  29. PmsBrand copyBrand = new PmsBrand();
  30. BeanUtil.copyProperties(brand, copyBrand);
  31. LOGGER.info("beanUtil copy properties:{}", copyBrand);

MapUtil

Map操作工具类,可用于创建Map对象及判断Map是否为空。

  1. //将多个键值对加入到Map中
  2. Map<ObjectObject> map = MapUtil.of(new String[][]{
  3.     {"key1""value1"},
  4.     {"key2""value2"},
  5.     {"key3""value3"}
  6. });
  7. //判断Map是否为空
  8. MapUtil.isEmpty(map);
  9. MapUtil.isNotEmpty(map);
  10. AnnotationUtil
  11. 注解工具类,可用于获取注解与注解中指定的值。
  12. //获取指定类、方法、字段、构造器上的注解列表
  13. Annotation[] annotationList = AnnotationUtil.getAnnotations(HutoolController.classfalse);
  14. LOGGER.info("annotationUtil annotations:{}", annotationList);
  15. //获取指定类型注解
  16. Api api = AnnotationUtil.getAnnotation(HutoolController.class, Api.class);
  17. LOGGER.info("annotationUtil api value:{}", api.description());
  18. //获取指定类型注解的值
  19. Object annotationValue = AnnotationUtil.getAnnotationValue(HutoolController.class, RequestMapping.class);

SecureUtil

加密解密工具类,可用于MD5加密。

  1. //MD5加密
  2. String str = "123456";
  3. String md5Str = SecureUtil.md5(str);
  4. LOGGER.info("secureUtil md5:{}", md5Str);

CaptchaUtil验证码工具类,可用于生成图形验证码。

  1. //生成验证码图片
  2. LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200100);
  3. try {
  4.     request.getSession().setAttribute("CAPTCHA_KEY", lineCaptcha.getCode());
  5.     response.setContentType("image/png");//告诉浏览器输出内容为图片
  6.     response.setHeader("Pragma""No-cache");//禁止浏览器缓存
  7.     response.setHeader("Cache-Control""no-cache");
  8.     response.setDateHeader("Expire"0);
  9.     lineCaptcha.write(response.getOutputStream());
  10. } catch (IOException e) {
  11.     e.printStackTrace();
  12. }

当然,还有很多其他非常方便的方法,留着你自己去测试吧!使用Hutool工具,可以大大提高你的开发效率!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/544549
推荐阅读
相关标签
  

闽ICP备14008679号