依赖jar包
引入包 | 版本 |
---|---|
jdk | 1.8 |
spring boot | 2.7.9 |
spring-boot-starter-web | 2.7.9 |
spring-boot-starter-webflux | 2.7.9 |
spring-boot-starter-undertow | 2.7.9 |
javase | 3.4.1 |
allbs-common | 2.0.0 |
spring-boot-starter-validation | 2.7.9 |
使用
添加依赖
<dependency>
<groupId>cn.allbs</groupId>
<artifactId>allbs-core</artifactId>
<version>2.0.5</version>
</dependency>
启动配置打印

二维码工具
生成二维码
QrCode.form("这是二维码内容")
// 默认 512,可以不设置
.size(512)
// 默认白色,可以不设置
.backGroundColor(Color.WHITE)
// 默认黑色,可以不设置
.foreGroundColor(Color.BLACK)
// 默认 UTF_8,可以不设置
.encode(Charsets.UTF_8)
// 默认 png,可以不设置
.imageFormat("png")
// 删除白边,默认为 true,可以不设置
.deleteMargin(true)
// 设置二维码 logo,支持 URL 远程图片、文件和流
.logo("D:/qrcode/avater.jpg")
// 写出,同类方法有 toImage、toStream、toBytes
.toFile("D:/qrcode/qrCode.png");
}
读取二维码
String text = QrCode.read("D:/qrcode/qrCode.png");
System.out.println(text);

java8时间转换
所有返回类型为java8时间的LocalDateTime、LocalDate等转为常用时间字符串,不走接口时或者使用map时将不会进行转换,需要手动转换成需要的格式
如,该工具包会自动将yyyy-MM-dd'T'HH:mm:ss
转为yyyy-MM-dd HH:mm:ss
输出,同时自动将yyyy-MM-dd HH:mm:ss
转为yyyy-MM-dd'T'HH:mm:ss
输入
全局异常统一返回结果
启动类添加注解 {% label @AllbsExceptionAdvice red %}
该包会将异常统一包装为R返回

记录业务异常
添加AllbsErrorEvent
监听
import cn.allbs.common.constant.StringPool;
import cn.allbs.core.advice.AllbsErrorEvent;
import cn.hutool.core.bean.BeanUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.core.annotation.Order;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class ExceptionRecordListener {
@Async
@Order
@EventListener({AllbsErrorEvent.class})
public void saveErrorLog(AllbsErrorEvent event) {
// 可直接将event内容保存数据库
Map<String, Object> map = BeanUtil.beanToMap(event);
StringBuilder sb = new StringBuilder();
map.forEach((k, v) -> sb.append(k).append(StringPool.COLON).append(v).append("n"));
log.error(sb.toString());
}
}

全局结果统一返回
启动类添加注解 {% label @AllbsResponseAdvice red %}
该包会将所有结果统一包装为R返回,如果已经使用了R包装则忽略
配置中ignore节点下的uri会忽略包装,直接返回原始结果
ignore:
urls:
- /swagger-resources
- /v2/api-docs
- /core/ignoreTestR
方法上添加注解@IgnoreAdvice

原文始发于微信公众号(询于刍荛):spring boot中一些工具的封装,如定制开发环境打印信息、入参及返回的时间格式化、二维码工具等。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/284462.html