工具类
文章平均质量分 67
一些好用的工具类
李父贵
一枚Java程序员~
展开
-
记录操作日志注解
/** * 根据配置的请求路径记录操作日志 * */public ResponseVo<String> save(@Validated(SaveRecord.class) @LogRecord("新增单证") MortgageDocumentRequest mortgageDocumentRequest, @CookieValue(value = "umid", required = false) String um..原创 2022-02-23 17:34:20 · 230 阅读 · 0 评论 -
自定义注解之参数打印切面
package com.paic.phucp.console.annotations;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/*** 入参,出参,响应等日志打印*/@Retention(RetentionPoli..原创 2022-02-19 19:07:35 · 175 阅读 · 0 评论 -
自定义注解之参数去空格
package com.paic.phucp.console.annotations;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/*** <p>对请求参数所有的字符串参数剔除空格</p>* &l..原创 2022-02-19 19:08:33 · 2328 阅读 · 0 评论 -
自定义注解之运行时间切面
package com.paic.phucp.console.annotations;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/*** 将执行时间记录日志*/@Retention(RetentionPolicy...原创 2022-02-19 19:06:28 · 240 阅读 · 0 评论 -
Aviator笔记
通过AviatorEvaluator.addStaticFunctions可以把整个工具类注入进来,例如AviatorEvaluator.addStaticFunctions(“StrUtil”, StringUtils.class),这样,就可以直接调用hutool工具类。使用ClassMethodFunction实现的。PropertyPlaceholderHelper结合avaiator可以天然实现${aviator表达式}这种解析。原创 2023-08-15 23:48:57 · 304 阅读 · 0 评论 -
sharding-jdbc介绍
spring.shardingsphere.datasource.datasource_name_1.driver-class-name = #驱动。spring.shardingsphere.datasource.datasource_name_1.type = #连接池。数据分片、分布式事务、读写分离、数据迁移、跨源的数据关联与聚合、数据加密。#配置第一个数据源具体内容,包含连接池,驱动,地址,用户名和密码。#配置数据源,给数据源起名称,#水平分库,配置两个数据源。ShardingSphere简介。原创 2023-08-14 22:30:38 · 355 阅读 · 0 评论 -
CAT监控工具
Exception: 异常告警,cat大盘有飘红/飘黄,不关注可到cat中忽略指定异常。- BaselineAlert: 基线告警,URL,SQL等性能波动较大。- Transaction: Transacation告警,自定义告警。- Heartbeat: 心跳告警,gc频繁,线程block等。- Event: Event告警,自定义告警。原创 2023-08-01 22:13:28 · 261 阅读 · 0 评论 -
使用队列邮箱发送
@Async 异步调用,方法不跑完可以接着跑别的方法,本质通过另起线程池RateLimiter sendRateLimiter = RateLimiter.create(1.33) 控制每秒最多1.33次,即每分钟80次,可用来限制自身调用其他接口TPSsendRateLimiter.acquire() //获取该许可证。一旦获取到许可证,不需要再释放许可证//发送内容放入queue中,启动任务后单跑一个发送线程@Service("mailService")public class Mail.原创 2022-02-22 10:41:41 · 422 阅读 · 0 评论 -
压缩流以及本地缓存的使用
//try()里每个声明的变量类型都必须是Closeable的子类,就一个close方法;相当于系统自动将关闭操作放到了finally里面而不需要我们自己写了//导出try (ServletOutputStream outputStream = response.getOutputStream(); ZipOutputStream zos = new ZipOutputStream(outputStream, StandardCharsets.UTF_8); ...原创 2022-02-21 15:12:59 · 455 阅读 · 0 评论 -
实用编码技巧
每个方法try for if 等层级最好不要超过3个选中代码块 -- 右键 -- refactor --extract --method 可以自动生成方法code style -- java -- 把数量改成100可以防止导包的时候导入*经常使用的重复字符串用static final变量定义注入抽象类的所有实现可以通过一下方式@Autowiredprivate Map<String, AbstractCacheService> beans = new HashMap<>原创 2022-02-21 15:07:01 · 274 阅读 · 0 评论 -
对比两个字符串文本
public class TextUtil { private static final String END_SPAN = "</span>"; private static final String COMPARE_BACKGROUND = "<span style=\"background-color:yellow\">"; public static Map<String, String> compareText(String text...原创 2022-02-21 15:02:28 · 139 阅读 · 0 评论