热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hutool工具Day01Hutool工具基本概念

Hutool框架基本概念Hutool介绍Hutool中的各个模块


Hutool框架基本概念


  • Hutool介绍
  • Hutool中的各个模块


      • hutool-aop
      • hutool-bloomFilter
      • hutool-cache
      • hutool-core
      • hutool-cron
      • hutool-crypto
      • hutool-db
      • hutool-dfa
      • hutool-extra
      • hutool-http
      • hutool-log
      • hutool-script
      • hutool-setting
      • hutool-system
      • hutool-json
      • hutool-captcha
      • hutool-poi
      • hutool-socket
  • 框架和工具的区别
  • Hutool工具设计原则


Hutool介绍


  • Hutool是一个Java工具包:
    • 工具包代表了程序员的积累
    • Hutool只是收集了程序员的积累
    • Hutool几乎涵盖了工作中大部分业务的工具
    • Hutool是程序员学习中知识的记录,是填坑的结果

Hutool中的各个模块


hutool-aop


  • JDK动态代理封装,提供非IOC下的切面支持
  • 关联Spring

hutool-bloomFilter


  • 布隆过滤,提供Hash算法的布隆过滤

hutool-cache


  • 简单缓存实现
  • 关联Guava的Cache模块 ,Jodd的Cache模块

hutool-core


  • Hutool核心工具包,包括Bean操作,日期以及各种Util等
  • 关联Apache-Commons-Lang

hutool-cron


  • 定时任务模块,提供类Crontab表达式的定时任务
  • 关联Quartz,Cron4j

hutool-crypto


  • 加密解密模块,提供对称,非对称和摘要算法封装
  • 关联BouncyCastle

hutool-db


  • JDBC封装后的数据操作,基于ActiveRecord思想
  • 关联DbUtils,Jfinal的db部分 ,Nutzdao,JOOQ,MyBatis

hutool-dfa


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

hutool-extra


  • 扩展模块,对第三方封装:
    • 模板引擎
    • 邮件
    • Servlet
    • 二维码
    • Emoji
    • FTP
    • 分词
  • 关联JavaMail, Zxing, Emoji4j,Commons-net

hutool-http


  • 基于HttpUrlConnection的Http客户端封装
  • 关联OKHttp,HttpClient,Jodd的http模块

hutool-log


  • 自动识别日志实现的日志门面
  • 关联slf4j

hutool-script


  • 脚本执行封转

hutool-setting


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

hutool-system


  • 系统参数调用封装.比如JVM相关信息

hutool-json


  • JSON实现
  • 关联FastJson,JackJson,json-lib

hutool-captcha


  • 图片验证码实现
  • 关联Jcaptcha

hutool-poi


  • 针对POIExcel封装
  • 关联POI,Easy-POI

hutool-socket


  • 基于JavaNIOAIOSocket封装
  • 关联t-io,Smart-socket,Netty

框架和工具的区别


  • 框架:
    • 解决大问题
    • 解决特定业务问题
    • 解决协作问题
  • 工具:
    • 解决小问题
    • 解决细节问题
    • 解决个体问题
  • 框架决定项目的成败,工具决定效率的高低

Hutool工具设计原则


  • 方法优于对象: 大多是static方法
  • 自动识别优于用户定义: 能少传参数就少传参数
  • 便捷性与灵活性并存: 有默认参数,也有自定义参数
  • 适配与兼容: 与框架兼容,将学习成本降到最低
  • 可选依赖原则: 不引入任何依赖,需要时用户自己引入
  • 无侵入原则: 没有注解,和项目不存在关联

推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 图片添加二维码水印教程
    本博客介绍一下用jdkawt实现图片加文字水印和图片水印的方法一、图片文字水印原来图片加上文字水印后图片二、图片加图片水印原来图片:水印图片:添加水印后的图片: ... [详细]
  • 开发笔记:图像识别基于主成分分析算法实现人脸二维码识别
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了图像识别基于主成分分析算法实现人脸二维码识别相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • TigerGraph101系列课程四直播报名及往期回顾
    报名 ... [详细]
author-avatar
G眯眼猫2850927647Ona
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有