利用Guava工具包提高开发效率
guava是谷歌提供的java开发的公共基础类库,提供了各种强大的基础功能,能够极大地简化我们的代码,提高开发效率,被称为java中的瑞士军刀。
用Guava的TTL Cache高效实现本地缓存
用法
首先创建一个缓存对象,设置最大数量和超时时间
Cache<String, String> ttlMap = CacheBuilder.newBuilder()
.maximumSize(5)
.expireAfterWrite(10, TimeUnit.SECONDS)
.build()
添加元素
for (int i = 0; i < 10; i++) {
ttlMap.put(i + "", i + "");
System.out.println(ttlMap.size());
}
获取元素
ttlMap.getIfPresent("key");
使用场景
- 本地超时缓存,用于存储token、权限等数据,轻量场景下,可以替代redis,提高代码简洁性。
用Guava高效实现下划线驼峰变量名转换
用法
代码如下
//驼峰转下划线
String user_name = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "userName");
System.out.println(user_name);
//下划线转驼峰
String userName = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "user_name");
System.out.println(userName);
使用场景
- 特别适用于数据库列表查询排序传参的场景,前端传来的参数一般是驼峰格式的,这个变量无法直接拿去作为数据库的排序标准,并且这个变量提前也是未知的。所以,只能是接收到参数后,转换为数据库常用的下划线格式。