基础工具类库使用

基础工具类

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

依赖说明

PigX 中已经引入了 Hutool 相关的 jar, 可直接使用相关的方法,无需额外引入依赖。

详细使用方法请参考 Hutool 官方文档

模块说明

模块介绍
hutool-aopJDK 动态代理封装,提供非 IOC 下的切面支持
hutool-bloomFilter布隆过滤,提供一些 Hash 算法的布隆过滤
hutool-cache简单缓存实现
hutool-core核心,包括 Bean 操作、日期、各种 Util 等
hutool-cron定时任务模块,提供类 Crontab 表达式的定时任务
hutool-crypto加密解密模块,提供对称、非对称和摘要算法封装
hutool-dbJDBC 封装后的数据操作,基于 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-jsonJSON 实现
hutool-captcha图片验证码实现
hutool-poi针对 POI 中 Excel 和 Word 的封装
hutool-socket基于 Java 的 NIO 和 AIO 的 Socket 封装
hutool-jwtJSON Web Token (JWT)封装实现

Redis 工具类

使用规范

全局操作 Redis 均使用 RedisTemplate,避免连接泄漏。理论上 RedisTemplate 支持 Redis 的全部命令,比市面上自己封装 Jedis 等强大、优雅。

常用方法教程请参考:RedisTemplate 常用方法教程

@Service
public class DemoService {
	@Autowired
	private RedisTemplate redisTemplate;

	public void test() {
		// opsForValue set get value
		redisTemplate.opsForValue().set("k1", "v1");
		Object v1 = redisTemplate.opsForValue().get("k1");
		// opsForValue set value 10秒钟 过期
		redisTemplate.opsForValue().set("k2", "v2", 10, TimeUnit.SECONDS);
		// opsForHash set get value
		redisTemplate.opsForHash().put("k3", "h1", "v3");
		redisTemplate.opsForHash().get("k3", "h1");
		// 删除某个key
		redisTemplate.delete("k1");
	}
}

Spring 工具类

SpringContextHolder 提供了在非 Spring 管理的类中获取 Spring Bean 的能力。

使用示例

// 根据 bean 名称获取 bean
Bean bean = SpringContextHolder.getBean("bean名称");

// 根据 bean class 获取 bean
Bean bean = SpringContextHolder.getBean(Bean.class);

// 发送 spring Event
SpringContextHolder.publishEvent(eventObj);