自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Spring常见的依赖注入多种实现方式

在实际开发中,如果依赖项可能发生变化,或者是可选的,可以考虑使用Setter方法注入。在接口中定义依赖项的setter方法,然后在实现类中实现该方法,将依赖项注入到对象中。注解注入是一种简单便捷的依赖注入方式,可以保证依赖项的可变性。在构造方法中,将依赖项作为参数传入,然后在对象被创建时将其保存在成员变量中。在依赖项上添加注解,然后在对象中使用@Autowired注解将依赖项注入到对象中。接口注入相对于构造方法注入和Setter方法注入,需要定义额外的接口,增加了代码复杂度,但可以保证依赖项的可变性。

2024-02-28 16:14:25 343

原创 MyBatis 拦截器

拦截器是一种基于 AOP(面向切面编程)的技术,它可以在目标对象的方法执行前后插入自定义的逻辑。Executor:拦截执行器的方法,例如 update、query、commit、rollback 等。可以用来实现缓存、事务、分页等功能。ParameterHandler:拦截参数处理器的方法,例如 setParameters 等。可以用来转换或加密参数等功能。

2023-12-14 11:18:35 965 1

原创 MyBatis、MyBatis-Plus、PageHelper分页查询

MyBatis、MyBatis-Plus、PageHelper分页查询

2023-12-14 10:33:02 509 1

原创 SpringBoot 接口防刷

SpringBoot 2.0 后,该类被标记为@Deprecated(弃用)。官方推荐直接实现WebMvcConfigurer或者直接继承WebMvcConfigurationSupport。在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定义。技术要点:springboot的基本知识,redis基本操作。

2023-12-13 10:04:50 345 1

原创 Redis 延时双删

Redis 延时双删

2023-11-06 09:07:40 240 1

原创 Java 的SimpleDateFormat yyyy和YYYY的区别

就比如说今年(2019-2020) 12.31 这一周是跨年的一周,而 12.31 是周二,那使用 YYYY 的话会显示 2020,使用 yyyy 则会从 1.1 才开始算是 2020。只要本周跨年,那么这周就算入下一年;正正经经的年,即元旦过后;

2023-11-03 11:19:58 49

原创 Lua脚本简介

插播一条:如果你近期准备面试跳槽,建议在ddkk.com在线刷题,涵盖 一万+ 道 Java 面试题,几乎覆盖了所有主流技术面试题,还有市面上最全的技术五百套,精品系列教程,免费提供。插播一条:如果你近期准备面试跳槽,建议在ddkk.com在线刷题,涵盖 一万+ 道 Java 面试题,几乎覆盖了所有主流技术面试题,还有市面上最全的技术五百套,精品系列教程,免费提供。总之,Lua是一种灵活的编程语言,其简洁性和强大的表格数据结构使其在各种应用中具有广泛的用途。表可以包含键值对,键和值可以是任何数据类型。

2023-11-03 10:42:49 39

原创 Lua脚本在Spring Boot中的实现

Lua脚本在Spring Boot中的实现

2023-11-03 10:28:00 336

原创 分布式锁的三种实现方式

(1)SETNXSETNX key val:当且仅当key不存在时,set一个key为val的字符串,返回1;若key存在,则什么都不做,返回0。(2)expireexpire key timeout:为key设置一个超时时间,单位为second,超过这个时间锁会自动释放,避免死锁。(3)deletedelete key:删除key在使用Redis实现分布式锁的时候,主要就会使用到这三个命令。

2023-07-14 11:21:28 68 1

原创 ReadWriteLock函数进行读写锁操作

读写互斥是指当一个线程获取写锁时,其他线程不能获取任何读锁或写锁。同样,当一个线程获取读锁时,不能获取写锁。它有两个锁,分别为读锁和写锁。当一个线程获取读锁后,其他线程也可以获取读锁。但是,当一个线程获得写锁时,其他线程不能获取任何读锁或写锁。ReadWriteLock是Java并发包中的一个接口,用于提供读写锁的机制,解决多线程并发读写操作时可能出现的线程安全问题。与单一的锁不同,在读写操作之间使用不同的锁,ReadWriteLock提供了更高的并发性能和可伸缩性。

2023-07-14 10:32:42 113 1

原创 java获取当前时间戳

【代码】java获取当前时间戳。

2023-07-14 09:41:17 954 1

原创 Spring中ResponseBodyAdvice的使用

可以在注解将返回值处理成相应格式之前操作返回值。实现这个接口即可完成相应操作。可用于对response 数据的一些统一封装或者加密等操作.ResponseBodyAdvice接口和 RequestBodyAdvice接口类似, RequestBodyAdvice是请求到Controller之前拦截,做相应的处理操作, 而ResponseBodyAdvice是对Controller返回的后,类型转换之前拦截, 进行相应的处理操作后,再将结果返回给客户端./** 数据的处理顺序向下*//**

2023-04-20 10:40:21 434

原创 mysql悲观锁和乐观锁

MySQL支持两种:悲观锁和乐观锁。

2023-04-19 16:00:36 244

原创 MyBatis-Plus手写 join 联表查询

MyBatis-Plus手写 join 联表查询

2023-03-15 08:56:01 1467

原创 JVM中对象及常量、局部变量、全局变量的存储位置

JVM中对象及常量、局部变量、全局变量的存储位置

2023-03-08 11:18:34 1017 1

原创 线程池创建

线程池创建

2023-02-28 10:27:12 55

原创 线程池四种拒绝策略

线程池四种拒绝策略

2023-02-28 10:14:13 269

原创 tomcat 最大线程数 最大连接数

tomcat 最大线程数 最大连接数

2023-02-23 17:20:25 1317

原创 MyBatisPlus批量数据插入功能汇总篇

MyBatisPlus批量数据插入功能汇总篇

2023-02-21 10:07:13 228

原创 vue中js判断长时间不操作界面自动退出登录

vue中js判断长时间不操作界面自动退出登录

2023-02-09 14:49:03 402

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除