自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用redis的setnx实现分布式锁

是 “Set If Not Exists”(如果不存在,则设置)的缩写。这是一个原子操作,用于设置一个键的值,前提是这个键不存在。如果键已经存在,.则不会执行任何操作。接下来,你可以在需要防止并发执行的方法中使用。

2024-06-02 09:21:14 283

原创 查看docker中各个容器所占的资源

这个命令会显示容器的名称、CPU使用百分比、内存使用情况、网络IO、块IO、内存使用百分比和进程ID数量。这个命令提供了容器的实时资源使用统计,包括内存使用情况。要查看Docker中的每个容器占用的资源,可以使用。命令持续输出数据,而是只显示当前时刻的统计信息。替换为想要查看的容器的名称或ID。

2024-05-31 00:07:01 608

原创 在SpringBoot中使用redis中的zset实现延迟任务

(有序集合)适合实现延迟任务的原因主要有以下几点:2、配置redis3、创建ZSET操作服务创建一个服务类来封装对ZSET的操作:4、定时轮询ZSET创建一个定时任务来定期检查ZSET中是否有到期的任务:负责添加和处理延迟任务,而负责定期调用方法来检查和处理到期的任务。

2024-05-30 18:29:07 386

原创 java中String、List、数组之间的转换方式

在Java中,StringList和数组(如String[])之间的转换是常见的操作。下面是如何在它们之间进行转换的示例。

2024-05-29 21:26:48 657

原创 docker使用docker logs命令查看容器日志的几种方式

命令只能用于显示容器的日志输出,如果容器没有输出日志到stdout和stderr,那么这个命令将不会显示任何信息。如果容器日志非常大,你可能只想查看某个时间段的日志。在这种情况下,可以使用。如果需要更详细的日志信息,例如带有时间戳的日志,可以使用。参数,后跟一个相对的时间或者一个具体的时间戳。如果只想查看最近几行的日志,可以使用。如果想要实时查看日志,可以加上。参数,后面跟上想查看的行数。参数,这样日志就会像使用。

2024-05-29 14:58:48 758

原创 docker部署nacos 2.2.3

【代码】docker部署nacos 2.2.3。

2024-05-29 14:54:02 128

原创 浅析AOP中的JoinPoint的使用

JoinPoint接口提供了多个方法,允许我们在切面中获取与连接点(即目标方法执行点)相关的信息。getArgs()SignaturegetThis()toString()getKind()下面是一个使用JoinPoint在这个示例中,我们定义了一个切面InfoAspect,它有一个@Before通知,该通知会在执行包下所有方法之前触发。在方法中,我们通过JoinPoint参数获取了方法名、目标对象、方法参数、代理对象、连接点类型和源代码位置等信息,并将它们打印出来。

2024-05-28 17:55:38 533

原创 浅析SpringBoot中的AOP以及自定义注解类

下面我们自定义一个注释@Target(ElementType . METHOD) // 注解应用的地方(方法) @Retention(RetentionPolicy . RUNTIME) // 注解的生命周期(运行时) public @interface LogExecutionTime {// 可以定义一些属性,例如是否启用日志 boolean enabled() default true;

2024-05-28 17:32:44 1142

原创 SLF4J自定义方法输出日志信息

在Slf4j中封装一个方法,每当调用这个方法时在日志中输出当前时间、线程id和当前类,并可输出传入的日志信息。现在,你可以在你的代码中这样使用。创建一个自定义工具类。

2024-05-26 12:24:49 172

原创 mybatis-plus自定义拦截器统计方法中调用所有数据库表的名称

/定义正则表达式,提取出sql语句中的关键字 private static final Pattern TABLE_NAME_PATTERN = Pattern . compile("(FROM|UPDATE)\\s+([\\w\\._]+)");// 解析SQL语句,提取表名称 Matcher matcher = TABLE_NAME_PATTERN . matcher(sql);

2024-05-21 19:25:47 253 1

原创 mybatis中foreach标签的用法说明

foreach>标签的基本语法如下:

2024-05-08 01:02:46 315 1

原创 在Springboot中,使用freemarker生成静态化HTML文件

Springboot版本:2.3.9JDK版本:JDK 17。

2024-04-30 23:04:12 388

原创 freemarker常用内建函数介绍

检查Hash是否为空(即是否包含至少一个键值对))都需要在模板的数据模型中被定义和赋值。:检查字符串是否以特定子串开始或结束。:返回序列的第一个和最后一个元素。:返回Hash中的所有键和值。等:检查变量是否为特定类型。:检查字符串是否包含特定子串。请注意,上述示例中的变量(如。:对字符串进行HTML编码。:使字符串的第一个字母大写。:返回序列中元素的数量。:对数字进行四舍五入。:对数字进行向上取整。

2024-04-30 22:15:11 243

原创 freemarker基本语法介绍

虽然 FreeMarker 提供了丰富的内置指令,但你也可以定义自己的指令。这通常涉及编写 Java 代码来扩展 FreeMarker。

2024-04-30 16:04:42 198

原创 解决:java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter

如果你使用的是Maven或Gradle等构建工具,你可以添加JAXB的依赖到你的项目中。但是,请注意,即使添加了依赖,你也可能需要额外的配置来确保。:如果你的项目可以兼容Java 8,那么回退到Java 8可以避免这个问题,因为。在Java 8中仍然可用。

2024-04-29 01:31:19 600

原创 vue3中,ref响应式变量什么时候需要使用.value

value在 Vue 3 中,ref用于创建响应式的引用(references),它总是返回一个包装对象,这个对象的.value属性包含了真正的响应式值。

2024-04-20 23:53:27 529 2

原创 docker启动所有容器的命令

【代码】docker启动所有容器的命令。

2024-04-16 02:54:54 265

原创 SpringSecurity原理简化图

认证原理图授权原理图

2024-04-06 11:40:10 123 1

原创 gateway自定义全局过滤器,统计接口调用时间

【代码】gateway自定义全局过滤器,统计接口调用时间。

2024-03-20 03:48:21 304 1

原创 docker单点部署elastic search

因为需要让es和kibana容器互联,这里先创建一个网络。

2023-03-21 15:06:03 238

原创 上传和下载文件

需求:上传文件到指定目录/从指定目录下载文件。

2023-03-17 18:36:36 136

原创 捕获SpringSecurity异常,进行统一返回

需要捕获SpringSecurity中的异常,通过统一返回类封装后返回给前端,但是使用@ControllerAdvice的全局异常处理器无法捕获到SpringSecurity中的异常,原因如下:在SpringSecurity中,如果认证或者授权的过程中出现了异常会被ExceptionTranslationFilter捕获到。​所以如果我们需要自定义异常处理,我们只需要实现AuthenticationEntryPoint和AccessDeniedHandler接口然后配置给SpringSecurity即可。

2023-02-22 10:50:03 2004

原创 org.springframework.security.access.AccessDeniedException: Access is denied

使用SpringSecurity时,已经允许登录接口匿名访问:还是报错:原因在过滤器中使用 SecurityContextHolder 对所有请求都进行了授权,而 .anonymous() 只允许未授权的请求访问在过滤器中将授权业务放在token验证后,token为空的直接放行,不进行授权

2023-02-22 04:11:26 1133

原创 Redis常用方法封装

【代码】Redis常用方法封装。

2023-02-21 02:07:33 209

原创 docker部署RabbitMQ集群

RabbitMQ底层依赖于Erlang,而Erlang虚拟机就是一个面向分布式的语言,默认就支持集群模式。用户发送给队列的一切请求,例如发送消息、消息回执默认都会在主节点完成,如果是从节点接收到请求,也会路由到主节点去完成。而镜像模式下,创建队列的节点被称为该队列的。但是,不同队列可以在集群中的任意节点上创建,因此不同队列的主节点可以不同。使用exactly模式的镜像,因为集群节点数量为3,因此镜像数量就设置为2。当主节点接收到消费者的ACK时,所有镜像都会删除节点中的数据。

2023-02-19 03:02:23 516

原创 解决虚拟机挂起重连后无法连接docker容器的问题

最近在docker中部署各种容器时,遇到一个问题:每次挂起虚拟机恢复后,就无法连接docker中的容器了,必须要重新启动容器才能正常连接,非常麻烦,查阅各种资料后,解决方法如下。

2023-02-16 21:49:10 1396 3

原创 JAVA使用FTP将本地文件传输到虚拟机中

vsftpd默认只能将文件上传到用户目录下(上面的 /ftpuser),如果想要将文件上传到其他目录,上传前一定要对上传的目标目录进行授权,否则会上传失败。到此虚拟机环境就搭建好了,下面编写java代码。创建成功后 /home 下会生成用户目录。下面对 /tmp/images 目录授权。

2023-02-16 21:19:29 516

原创 在Docker容器内安装vim

docker容器内安装vim

2023-02-16 21:00:23 412

原创 解决centos出现多个ip或ip地址消失

使用VMware Workstation创建虚拟机后,有时在挂起虚拟机恢复后,虚拟机会出现两个ip地址或者ip地址消失。为虚拟机设置静态ip可以解决这个问题。

2023-02-16 20:46:13 1882

CacheService类,封装了redis中的所有方法

内容概要:基于spring-boot-starter-data-redis-2.3.9.RELEASE编写的CacheService类,这个类里封装了StringRedisTemplate中的【所有】方法。方便便对redis中的各种数据类型进行操作。注意不是封装的常用方法,是所有方法。

2024-05-30

空空如也

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

TA关注的人

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