- 博客(580)
- 问答 (4)
- 收藏
- 关注
原创 【踩坑】基于注解的AOP失效。内部方法使用this调用方式时,导致AOP生效的问题
方案一是不适合在自定义的starter进行使用的,其实 @EnableAspectJAutoProxy是@Import的高级注解,熟悉springboot启动流程的朋友应该知道是在主启动类的run方法中进行解析的,所在对应自定义的starter,是不生效的。通过上述的代码我们可以发现,集群模式的@Retry属于类的内部方法的调用,在spring中AOP是通过代理对象来实现,而在springboot中,内部方法的调用时通过实例对象来调用的,这也就意味着内部方法的@Retry不会被代理到。
2023-06-30 10:07:49
260
原创 基于springboot实现动态定时任务,包括添加、删除、启动、关闭、日志
实现定时任务的动态控制com.studioustiger.job.entitycom.studioustiger.job.mappercom.studioustiger.job.servicecom.studioustiger.job.executorcom.studioustiger.job.configcom.studioustiger.job.scheduledcom.studioustiger.job.con
2023-05-17 11:59:02
771
转载 【Nginx】nginx的Rewrite,nginx重写请求
版权声明:本文为CSDN博主「微笑着敲代码」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
2022-12-28 11:34:01
2903
原创 在KubeSphere中部署微服务(阡陌)+ DevOps
在KubeSphere中部署微服务(阡陌)+ DevOps,主要给自己看,写的优点粗糙,见谅~
2022-11-19 23:30:20
4513
原创 【Docker】镜像的保存(save)到文件 与 加载(load)到宿主机
背景:我们制作好的镜像会存储在宿主机上,那么在迁移的过程中,我们应该如何 保存自定义的镜像到宿文件 或 加载自定义的镜像到宿主机呢?
2022-10-12 19:12:10
1029
原创 【Dockerfile】Dockerfile 入门模板
背介绍:通过 Dockerfile将 centos7 + tomcat + jdk + jar工程 + 启动脚本 制作成一个可执行镜像。通过 docker build 命令构建镜像
2022-10-12 18:54:57
1304
1
原创 【Dockerfile】Dockerfile的语法规则
最近使用Dockerfile打镜像,简单总结了一下语法规则,分享给大家,如有错误,请大家即时指正。
2022-10-12 18:48:15
134
原创 【MySQL-height】表的结构在文件系统中的显示
环境linux-centos7mysql8.0.24mysql 存储引擎 innodb存储位置查看mysql的数据的存储位置 切换到数据的存储目录: 切换到一个数据库下: 文件说明在 mysql57 版本中,一张表对应的是两个文件,例如:对于上述的 表,在 mysql57 中对应的是应该是量文件,分别是 和 。在 mysql80 版本中将原本的 与 文件进行了整合,整合到 .idb文件中。如果你觉得不是,那么你可以通过 命令生成一个 文档。(你可以将 文件和生成的 文件类
2022-06-21 20:06:15
233
原创 【mysql-height】mysql服务中的字符集
查看当前mysql数据库的所有属性的字符编码:character-set-client:设置客户端使用的字符集。character-set-connect:设置链接数据库时的字符集。character-set-result:服务器安装时指定的编码格式。对于 、 、 在mysql服务器中的处理过程如下图:从上图我们可以发现,如果 的字符集与 的字符集不一致,必出错;如果 的字符集与对应的表中的 的字符集不一致,必出错;如果 的字符集与 的字符集不一致,并出错。character-set
2022-06-19 22:09:06
123
原创 【设计模式】模板模式
什么是模板模式在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。模板模式的优缺点优点: 1、封装不变部分,扩展可变部分。 2、提取公共代码,便于维护。 3、行为由父类控制,子类实现。缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。例子一个抽象的 Car 类,,模板方法(drive())设置为 final,这样它就不会被重
2022-04-08 14:57:48
83
原创 【设计模式】工厂模式
什么是工厂模式工厂模式就像是 现实生活中的工厂一样,只要是工厂中可以制造的东西,你需要什么工厂就可以给你制造什么。在制造的过程中工厂并不会对用户暴露制造的细节。所以在工厂模式中,工厂在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式的优缺点优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏蔽产品的具体实现,调用者只关心产品的接口。缺点:每次增加一个产品时,都需要增加一个具体
2022-04-08 14:13:09
91
原创 【设计模式】组合模式
什么是组合模式组合模式是一种树形结构,一个父节点下面会有多个子节点,子节点下面会有多个子节点。如果把上述的节点表示为类那么就会说组合模式。我们常见的组合模式就是文件系统(文件夹),一个根(root)文件夹下有多个子文件夹,一个子文件夹下又有多个子文件夹。组合模式的优缺点因为是一种树形结构,我们可以很方面的找到我们的目标类,以及它的层级关系,结构清晰,逻辑完整。如果是有缺点的话, 那么可能是违背了依赖导致原则,因为我们是对一个一个的实现类进行操作的,而不是接口,这样显得是非的臃肿。例子我们就以文
2022-04-08 11:54:21
132
原创 【设计模式】命令模式
什么是命令模式将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式的优缺点优点: 降低了系统耦合度,新的命令可以很容易添加到系统中去。缺点:使用命令模式可能会导致某些系统有过多的具体命令类。举例我们就以增删改查为例,首先我们需要定义一个 CRUD 的接口,然后定义四个 CRUD 的实现类,最后定义一个 Command 类,该类的作用是将所有的指令插入到该类中的 arrayList 中去,最后依次执行 arrayList
2022-04-07 22:25:59
202
原创 【设计模式】适配器模式
什么是适配器模式适配器的作用是将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。举个例子,比如说,现在提供了一个接口 adapter(String str) ,当我们输入中文的时候它会进行一些中文的操作,当我们输入英文的时候,它会进行一些英文的操作。这就属于适配器模式。适配器模式的优缺点适配器的优点很明显就是使得两个或多个原本无关联的类可以一起运行。这样使得我们不需要重新编写代码就可以实现代码的整合,提高了代码的复用性,因为只是对外暴露了
2022-04-07 21:47:44
204
原创 【设计模式】装饰器模式
什么是装饰器模式装饰器模式从字面意思来说就是对某一个事物进行装饰的一种模式。从代码层面而言,是对类的一个扩展或者是修饰,从传统方法而言,我们可以使用继承来对某一个类进行扩展,但是往往会导致会出现非常多的子类,如果我们要想避免这种情况,那么我们就可以使用设计模式中的——装饰器模式。装饰器模式的优缺点装饰器模式是在不改变现有对象结构的情况下,动态地给该对象增加一些职责,即增加其额外功能。但是如果对于一个类型装饰的类的扩展功能太多,那么将会导致有很多的小类,我们在选择使用装饰器设计模式的时候要根据实际情况
2022-04-07 17:55:14
5780
4
原创 【设计模式】观察者模式
什么是观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。观察者模式的优点1、观察者和被观察者是抽象耦合的。2、建立一套触发机制。举例当 int 类型的数据 state 发生改变后,要求其对应的 ascll 、二进制 、十进制 都要发生改变主题(发布者、被观察者)import java.util.ArrayList;import java.util.List; publ
2022-04-04 21:45:46
58
原创 【设计模式】代理模式
什么是代理模式代理模式是给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。代理模式的优点中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。开闭原则,增加功能:代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的功能,这样做我们只需要修改代理类而不需要再修改委托类,符合代码设计的开闭原则。代理
2022-04-04 20:48:56
521
原创 【设计模式】策略模式
什么是策略模式在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。简单的来说,就是我们定义一系列的算法,提供统同一个接口,不同的是算法的实现逻辑不同,系统可以通过你选择的策略实现不同的算法逻辑。值得注意的是,策略模式的重心不是如何来实现算法,而是如何组织、调用这些算法,从而让程序结构更灵活、具有更好的维护性和扩展性。为什么要有策略模式,阅读一些博客发现,大部分说是为了避免使用 if-else , 这种说明本身是
2022-04-04 20:17:37
516
原创 【设计模式】单例模式
一、什么是 单例模式从字面意思上来说,单例模式就是 只存在一个实例 的模式。只存在一个实例的好处是 内存中只存在一个实例,减少了内存的开销,避免了对象的频繁的创建于销毁。可以帮助我们控制实例的数目,节约系统资源。二、常用的三种单例模式第一种:线程安全-懒汉式所谓的懒汉式,从字面意思上而言是一种慵懒的方式(被动)创建实例,即当你需要的时候且没有所需要是实例时,系统才去创建实例。因为用被动的方式创建实例,在创建实例的过程中存在线程安全的问题,这里所说的线程安全问题是指存在多个实例被创建的情况,所以我
2022-04-04 17:43:00
347
原创 【面试】面试复盘
1、数据库的查询优化SQL语言–语句优化总结2、redis的之持久化与非持久化的区别redis-cli -h localhost -p 6379redis的持久化有两种模式:RDB(Redis DataBase):默认开启此模式,会在redis的相关目录(在redis的命令行模式下可以通过 config get dir 获取)下面存储 dump.rdb 文件,当redis启动的之后就会读取这个配置文件。优点:RDB对外 redis对外提供的读写服务 影响较小,使得redis的性能更高。相对AO
2022-04-02 11:45:24
900
原创 【Nginx】Nginx 快速入门
文章目录一、简介二、Docker 安转 Nginx三、反向代理1、介绍2、实操步骤一步骤二步骤三四、负载均胜1、介绍2、负载均衡的策略3、实操步骤一步骤二步骤三五、动静分离1、介绍六、高可用一、简介ginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了IMAP/POP3/SMTP 服务。Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。其将源代码以
2022-04-01 23:40:42
5072
2
原创 【JVM】浅谈JVM
文章目录一、JMV的位置二、JVM的体系结构(简单)三、类加载器1、加载过程:① 加载② 连接③ 初始化2、类加载器① 启动类(根)加载器:② 扩展类加载器:③ 应用程序类加载器:④ 自定义类加载器四、双亲委派机制五、沙箱安全机制一、JMV的位置二、JVM的体系结构(简单)三、类加载器加载指的是将类的class文件读入到内存,并为之创建一个java.lang.Class对象,也就是说,当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象.类的加载由类加载器完成,类加载器
2022-03-25 20:15:18
732
原创 【踩坑分享】springboot 中 @autowired 注解注入为 null
有时候我们会发现我们通过 @autowired 注解注入为 null,此时我们就要手动注入了。我们可以写一个手动注入工具类,如下:工具类:package com.tiger.Utils;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAw
2022-03-20 23:10:04
619
原创 【踩坑分享】滚动条保持在最底部的方法,做聊天室的时候会用到
最近在做一个聊天室,结果新发送的消息不能【置于底部】,找了很多方法,最后总结出最完美(主观)的方法,给大家分享一下核心代码: 目标div.scrollTop = 目标div.scrollHeight;例子:<!DOCTYPE html><html lang="en"><head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <titl
2022-03-19 22:36:59
3964
原创 【踩坑分享】放在docker局域网中的容器,外界无法访问的问题
在搭建局域网的时候,我被坑了,大家搭建的时候一定要注意。docker的局域网是万万不能包含linux宿主机上的网段的,这点尤为的重要。建议:创建docker的局域网docker network create --driver bridge --subnet 10.0.0.0/24 --gateway 10.0.0.1 myNet...
2022-03-16 11:35:38
2243
1
原创 【踩坑分享】使用 navicat 连接 docke r中 MySQL 出现 1251 的问题
这个问题我之前遇到过,当时的数据库是本地数据库,当时“更改了加密规则”和“更新了root密码”后解决了。当时当把数据库迁移到docker容器后,上面的方法就无法解决这个问题了。查找资料后发现我们只需要追加“授权连接”就可以解决这个问题了。第一步:授权连接mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;mysql> FLUSH PRIVILEGES;(更新)第二步:更改加密规则mysql> AL.
2022-03-16 11:31:05
963
原创 【踩坑分享】docker更改mysql配置文件后,无法启动mysql容器
!!!!不要直接使用 “docker exec -it 容器ID /bin/bash” 进入容器去修改配置文件!!!!!不建议使用docker做数据库,因为如果你没有做目录映射,那么修改配置文件后,你的容器会崩掉的。但是:咱是技高人胆大 [坏笑]解决方法如下:1、如果你进入容器后修改配置文件后,无法启动mysql容器,那么就先把配置文件还原(你可以发现容器中是没有vi或vim指令,这从另一方面而言,说明人家就是不想让你在容器中进行写操作)2、使用 docker inspect mysql,找到如下位
2022-03-16 11:18:14
2518
1
原创 【MINIO】MinIO快速入门(基于docker)
文章目录MinIO Docker快速开始纠删码模式部署什么是纠删码?为什么纠删码有用?分布式 MinIO介绍特点MINIO Java Client 客户端的使用分布式文件系统MinIOMinIO Docker快速开始创建新的本地目录mkdir -p ~/minio/data通过docker进行启动-d:后台运行 -p:暴露端口 -v:磁盘挂载 -e:配置环境docker run \ -d \ -p 9000:9000 \ -p 9001:9001 \ --name m
2022-02-22 16:42:44
1829
原创 css中的 position: sticky 失效的原因(1)
最近在写东西的时候,我发现sticky失效的,找了老半天找到了原因。(1)我们知道float是使得div悬浮,悬浮之后元素的父元素在不设置height的情况下其height为0px。如下的情况就会使得sticky失效。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=
2022-01-16 20:17:44
1354
原创 在dive上打孔(使div上有一个透明的区域)
通过background-image: radial-gradient(circle at 20px, transparent 8px,rgb(255, 255, 255) 0px);实现。circle at 20px: 确定孔的形状和位置transparent 8px: 确定孔的颜色和大小rgb(255, 255, 255) 0px: 确定其他区域的颜色<!DOCTYPE html><html lang="en"><head> <meta ch
2022-01-13 13:38:58
5169
2
原创 【RabbitMQ】RabbitMQ 快速入门(精讲)
rabbitMQ官网:https://www.rabbitmq.com/rabbitMQ与Erlang的对应版本:https://www.rabbitmq.com/which-erlang.html
2021-10-30 12:32:21
765
空空如也
如何解决MINIO的URL链接只有七天有效期的问题
2022-05-16
最近写了一个【聊天室】,感兴趣的同学可以一起学习交流
2022-03-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人