本文旨在收集在JAVA开发中用到的超实用的类库,持续更新哦~ 记得
收藏
不迷路。
版权说明:本文由作者原创,转载请注明出处。
原文地址:https://blog.csdn.net/qq_38688267/article/details/107846375
最近更新时间:2020-8-18 09:12:26
简化代码类
Lombok
- 推荐指数:★★★★☆
- 主要功能:自动生成实体类Getter、Setter、toString、构造等方法
- 主页:https://projectlombok.org/
- 说明:Lombok一个注解给我们省了很多代码量,实在不要太方便。可能有些人说通过IDEA等工具也能一键生成这些方法,但是一旦修改了字段后改起来就很麻烦,一系列的都要改。但是该工具也存在一部分负面的说法,具体可以问度娘~
- maven依赖:
<!-- Lombok依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
- 使用效果:
Mybatis Plus
- 推荐指数:★★★★★
- 主要功能:代码生成器、通用CRUD接口、分页插件、自定义ID生成器等
- 主页:https://mp.baomidou.com/
- 说明:Mybatis Plus是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。用过的都说香!墙裂推荐!!!
- maven依赖:
<!-- starter, 增加属性文件支持 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<!-- 代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.2</version>
</dependency>
<!-- 注解支持 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
<version>3.3.2</version>
</dependency>
<!-- 核心依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
<version>3.3.2</version>
</dependency>
<!-- 条件构造器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.3.2</version>
</dependency>
MapStruct
- 推荐指数:★★★☆☆
- 主要功能:基于注解生成对象转换的工具,简化了Java bean类型之间映射的实现。
- 主页:https://mapstruct.org/
- 说明:跟Lombok相似,MapStruct也是通过注解生成代码,主要用于代码中DO、DTO、VO、BO等对象之间的转换。
- maven依赖:
<!-- 注解支持 -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
</dependency>
<!-- 执行依赖,不增加该依赖无法生成代码 -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
</dependency>
- 使用效果:
实用工具类
Hutool
- 推荐指数:★★★★☆
- 主要功能:一个小而全的Java工具类库,通过静态方法封装。
- 主页:https://www.hutool.cn/docs/#/
- 说明:Hutool是项目中“util”包友好的替代!对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,并且分别提供依赖。具体如下:
模块 | 介绍 |
---|---|
hutool-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 | 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等) |
hutool-http | 基于HttpUrlConnection的Http客户端封装 |
hutool-log | 自动识别日志实现的日志门面 |
hutool-script | 脚本执行封装,例如Javascript |
hutool-setting | 功能更强大的Setting配置文件和Properties封装 |
hutool-system | 系统参数调用封装(JVM信息等) |
hutool-json | JSON实现 |
hutool-captcha | 图片验证码实现 |
hutool-poi | 针对POI中Excel和Word的封装 |
hutool-socket | 基于Java的NIO和AIO的Socket封装 |
hutool-all | 包含以上所有模块,一般情况下不要直接依赖这个 |
- maven依赖:
<!-- 核心,包括Bean操作、日期、各种Util等 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.3.10</version>
</dependency>
JWT
- 推荐指数:★★★★☆
- 主要功能:用于生成有加密信息的token
- 主页:https://jwt.io/
- 说明:JSON Web Tokens是开源的,有行业标准 (RFC 7519),用于安全地在双方之间表示声明。这个的应用场景就不用多说了吧~
- maven依赖:
<!-- JWT -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.10.3</version>
</dependency>
Swagger
- 推荐指数:★★★★★
- 主要功能:通过注解和配置,自动扫描API接口生成接口文档页面。
- 主页:https://swagger.io/
- 说明:丝袜哥还是还是非常香的,基本不需要写接口文档了。而且也没有增加什么工作量,因为字段、方法、类的介绍我们本来就要写的,现在只要写到一个注解里面,就能生成接口文档。如果觉得他自带的接口文档界面不美观,可以增加下面的依赖美化UI哦~
- maven依赖:
<!-- swagger核心依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- swagger ui美化插件 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
- 使用效果: