依赖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 |
使用
添加依赖
1 2 3 4 5
| <dependency> <groupId>cn.allbs</groupId> <artifactId>allbs-core</artifactId> <version>2.0.2</version> </dependency>
|
1
| implementation 'cn.allbs:allbs-core:2.0.2'
|
1
| implementation("cn.allbs:allbs-core:2.0.2")
|
启动配置打印

二维码工具
生成二维码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| QrCode.form("这是二维码内容") .size(512) .backGroundColor(Color.WHITE) .foreGroundColor(Color.BLACK) .encode(Charsets.UTF_8) .imageFormat("png") .deleteMargin(true) .logo("D:/qrcode/avater.jpg") .toFile("D:/qrcode/qrCode.png"); }
|

读取二维码
1 2
| 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输入

全局异常统一返回结果
启动类添加注解 @AllbsExceptionAdvice
该包会将异常统一包装为R返回

记录业务异常
添加AllbsErrorEvent监听
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 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) { 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()); } }
|

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

