java
the_pure
这个作者很懒,什么都没留下…
展开
-
对于表单提交的防止重复提交
场景:方案:使用到的方法:代码:注解NoRepeat :@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)public @interface NoRepeat { // 默认30s long time() default 30L;}注解Tag :@Target({ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)p原创 2022-04-28 17:18:59 · 1193 阅读 · 0 评论 -
对象转换工具类
/** * @description: 对象转换工具类 原理:BeanUtils.copyProperties方法(浅拷贝) * @author: zk * @since: 2022-04-26 19:00:04 */@Slf4jpublic class ConvertUtil { /** * 列表转为某个对象列表 * * @param e * @param clz * @param <E> * @param &l.原创 2022-04-26 20:45:25 · 362 阅读 · 0 评论 -
利用自定义注解+Map+反射实现策略模式
场景:TODO思路:1.扫描所有有自定义注解的类通过反射put到map中(初始化类似与IOC启动流程)2.根据不同策略从map中获取对应的处理类处理业务代码实现:1.自定义注解/** * 标记类需要put到策略map中 */@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @interface PutInMap { // 策略模式名称 S...原创 2022-04-08 19:52:16 · 984 阅读 · 1 评论 -
自定义注解+AOP+redis简单实现接口的重复提交问题
应用场景:接口幂等性是用户对于同一操作发起的一次请求或者多次请求的结果。有些用户会恶意点击某个按钮,服务器会执行很多无用的请求,虽然前端可以将按钮制灰也可以实现,但是有些人知道接口地址后会对某个接口用程序频繁发请求导致服务器崩溃。为了解决这个问题就要实现接口的幂等性。简单实现方案:采用IP/Token方式来标识用户,根据具体情况来选择。流程:1、用户第一次访问接口时,redis中没有存储该接口的信息,执行方法,并将用户+接口信息存redis设置过期时间存入。...原创 2021-11-18 16:02:30 · 957 阅读 · 1 评论 -
自定义注解+Aop实现简单的日志管理系统
目的:在项目中,经常要使用日志管理系统来记录操作日志,在spring AOP的典型实际应用中就有日志管理的应用场景,在这篇老帖中给出简单的实现方案(代码有不妥的地方,老手勿喷,指出后我会虚心学习)实践: 1.准备自定义注解/** * @Description: * @Author: the_pure * @CreateDate: 2021/11/18 10:05 */@Target({ElementType.METHOD})@Retention(R...原创 2021-11-18 12:10:41 · 309 阅读 · 0 评论