自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Elasticsearch 基础 DSL 命令

包含的字段有:author, title, content。其中 1 为文档的 _id,可不按顺序添加,也可以不是数字。ik 分词器是 es 的扩展插件,需要自行安装。下面示例添加了一个名为 blog 的索引库。后续的更新添加了一个 tags 字段。其中 blog 为上面创建的索引库。用于查看 es 服务是否正常启动。文档的增删查改操作示例。

2022-12-08 20:19:50 330

原创 RabbitMQ 快速入门七种简单模式

RabbitMQ 中有几种概念,分别是:虚拟主机(virtualHost),通道(channel),队列(queue),还有一个交换机(exchanges)的概念在之后会遇到。上面的例子可以看出,大多数代码是重复的,所以 SpringAMQP 中封装了 RabbitTemplate 以便于进行消息队列的操作。服务先与虚拟主机建立连接,然后创建通道,声明或创建队列之后发送或接收消息,消息最终会在队列中传输。如此启动项目时,bean 被创建,就会创建一个队列(若已存在则不再创建)

2022-11-29 18:37:57 686

原创 RabbitMQ 通过 docker 安装与启动

原因在于 docker 容器映射端口会自动操作 iptables 规则,而且防火墙开放端口列表不会因此而改变。访问 15672 端口,浏览器输入虚拟机的 ip 地址加端口号即可。推荐使用 rabbitmq:3-management 版本。如我的是 192.168.0.102:15672。输入启动容器时设置的默认用户名与密码即可。防火墙随为开放此端口,但仍可以直接访问。

2022-11-29 14:30:20 401

原创 第十四届蓝桥杯(第二期)模拟赛试题与题解 C++

对于 1 到 L 之间的每个整数 i,X图形满足:第 r-i 行第 c-i 列与第 r 行第 c 列相同,第 r-i 行第 c+i 列与第 r 行第 c 列相同,第 r+i 行第 c-i 列与第 r 行第 c 列相同,第 r+i 行第 c+i 列与第 r 行第 c 列相同。一个 X 图形由中心点和由中心点向四个45度斜线方向引出的直线段组成,四条线段的长度相同,而且四条线段上的字母和中心点的字母相同。例如,对于下面的字母矩阵中,所有的字母 L 组成一个 X图形,其中中间的 5 个 L 也组成一个 X图形。

2022-11-21 22:46:29 488 4

原创 SpringBoot 项目 Could not find acceptable representation 解决方法

Controller 方法返回的对象没有 get 方法,无法将对象转换为 JSON。可以使用 lombok 库在类上注解 @Data 或者 @Getter。添加 get 方法,有 get 方法的属性才会转换称 JSON。

2022-11-13 19:35:37 105

原创 AntDesign 分页 警告 [`dataSource` length is less than `pagination.total` but......] 解决方法

例如,原来 dataSource 有 20 条数据,改变 pageSize 为 10条/页 后,dataSource 依然存在 20 条数据。pageSize 发生改变时,原来的数据即 dataSource 未清除,所以会警告:dataSource 长度大于当前 pageSize。只发生在较大 pageSize 变为较小 pageSize 时,如从 20条/页 变为 10条/页。例如我表中放的是学生信息,表格的 onChange 方法里首先清空学生数据即可。

2022-11-10 18:16:24 507

原创 第十四届蓝桥杯第一期模拟赛试题与题解 C++

从初始下标开始,将下标对应的字符加入到字符串的结尾,将字符的序号(A到F依次对应 1 到 6 )与下标相加作为新的下标值,如果下标大于等于 n,将其对 n 求余。给定一个字母矩阵,定义一个LQ三角形为某行中连续的几个字母、某列中连续的几个字母和一条45度的斜线中连续的几个字母组成的等腰直角三角形的边缘部分,其中每条边上的字母数量相等且至少为2。小蓝想在矩阵中找到一个由连续的若干行、连续的若干列组成的子矩阵,使得其和为 2022,请问这个子矩阵中至少包含多少个元素(即子矩阵的行数和列数的乘积)。

2022-11-08 20:46:44 14642 13

原创 WebStorm 命令行 npm不是内部或外部命令也不是可运行的程序 解决方法

确认自己的 node 和 npm 环境配置无误但 WebStorm 仍无法使用命令。

2022-11-07 08:49:13 130

原创 SpringCloudAlibaba-微服务-Nacos服务配置

但也有例外,据我测试,服务名称(spring.application.name)与服务端口(server.port)是命令行参数的优先级最高。Nacos 的服务发现有三个主要区域,从大到小分别是:命名空间(namespace),分组(group),集群(cluster)注意服务发现的 namespace 与配置的 namespace 是分开配置的,默认都是在 public 空间。另外,服务端口虽然能通过拉取 nacos 配置设置,但在服务启动后端口号无法变更,所以服务端口不会受热更新影响。

2022-11-03 23:43:05 443

原创 SpringCloud-微服务-Gateway网关配置

启动网关后,客户端访问网关即可,如 localhost:8088/user/1,网关会匹配到 user-service 路由,并将请求路由到从 Nacos 注册中心得到的 user-service 服务。向网关发起请求 —> 网关对请求路径查找匹配的服务 —> 网关对请求进行校验或过滤处理 —> 网关将请求路由到指定服务 —> 服务返回响应给网关 —> 网关将服务响应返回给客户端。在全局过滤器上注解 @Order 注解可以设置过滤器的优先级,用于排列多个过滤器时的顺序。

2022-11-03 10:36:59 581

原创 SpringCloudAlibaba-微服务-注册中心之Nacos安装启动与集群配置

如要更改,在 nacos\conf\application.properties 中找到 server.port 更改即可。由于 nacos 默认以集群模式启动,双击 nacos\bin 目录下的 startup.cmd 即可启动。服务启动后,cluster.conf 会被添加一个真实 ip 地址,端口号与当前节点配置的相同。在 nacos\conf 目录中提供了有 nacos-mysql.sql 脚本。我们在自己的 MySQL 中,新建 nacos 数据库,执行脚本即可。

2022-10-31 15:28:50 298

原创 SpringCloud-微服务-注册中心之 eureka

spring-cloud-starter-netflix-eureka-server 依赖中包含了 spring-boot-starter-web。其中 eureka.client 的配置是要将当前服务注册到注册中心,也就是 eureka 服务。父工程引入 spring-cloud-dependencies,版本还请自行选择。打开 eureka-server 的地址即可看到注册中心相关信息。搭建 eureka 服务时也会把服务本身注册进去。所以可以直接作为一个 web 项目启动。

2022-10-31 10:27:34 31

原创 SpringBoot进阶-第三方bean属性绑定

类上注解 @Component 与 @ConfigurationProperties 即可@Data @Component @ConfigurationProperties(prefix = "test-bean") // @ConfigurationProperties("test-bean") // 默认即为 prefix 属性指定 public class TestBean {}@ConfigurationProperties 注解的 prefix 属性用于指定绑定配置中的属性。

2022-10-29 15:22:07 307

原创 SpringBoot进阶-日志等级配置与操作

SpringBoot 默认日志等级为 info,也就是说只在控制台输出 info 或更高等级的日志在开发阶段如果想临时地更改日志等级进行调试,可以使用下面这个简单的配置:真正要设置项目日志等级则要这样:日志的等级是根据组或包来设置的,其中 root 组即为整个项目但以包为单位设置日志等级很麻烦,所以可以自己设置组别,然后为每组分别设置等级:三、打印日志打印日志首先要获取日志对象,如下:由于这行代码写法比较固定,可以用 Lombok 中的 @Slf4j 注解代替,如下:拿到日志对象后,调用方法即可

2022-10-28 20:10:33 1350

原创 SpringBoot进阶-配置高级

与 yaml 多文件相同,不同的环境配置写在不同的 properties 文件中,文件名为 application-env.properties。来分隔不同的环境,不同环境中使用 spring.config.activate.on-profile 指定当前环境的名称。未指定环境名称的部分为默认配置,或公共配置,在这里使用 spring.profiles.active 指定要生效的环境名称。可以将不同的环境写入不同的配置文件,文件名称为 application-env.yml,其中 env 为环境名称。

2022-10-28 14:02:58 429

原创 【Redis笔记】缓存穿透与缓存击穿以及应对方法

访问无效数据的请求,一般只会在短期内重复访问(误操作或恶意访问),可以设置较短的过期时间,如 5 分钟,便于节省空间。锁的操作使用了 Redisson,在处理缓存穿透的基础上,为未命中缓存的部分补充锁的部分即可。后,服务器同时收到大量查询此数据的请求,此时新的缓存尚未建立,就会向数据库发送大量查询请求。时,不会命中缓存(缓存层),便会向数据库(持久层)发送查询请求,但同样查不到数据。缓存未命中时获取锁,建立新的缓存,其它线程等待锁释放后再查找数据。缓存命中时,查看逻辑过期时间是否过期,

2022-10-24 17:39:42 825

原创 使用 AopContext.currentProxy() 报错:java.lang.IllegalStateException: Cannot find current proxy

用来解决调用类内方法导致事务失效的问题。Spring Boot 中,使用。

2022-10-16 14:30:21 238

原创 VirtualBox 隐藏打开的虚拟机窗口 win10最简单操作方法

按 win + tab 快捷键,点击新建桌面,将窗口直接拖拽到别的桌面就行了。VirtualBox 中每个虚拟机都有一个窗口,即使缩小了也占任务栏位置。而且实际操作时基本都是在用 MobaXterm 之类的工具。按 ctrl + win + 左右方向键可以快速切换桌面。如何隐藏虚拟机窗口,让虚拟机运行的悄无声息?

2022-10-11 15:50:32 542

原创 [Redis笔记] Redis安装卸载与基本配置

本文在 CenOS7 虚拟机中安装配置 Redis。

2022-10-09 22:13:51 530

原创 CSDN竞赛—第六期题解与感想

第二次参加 CSDN 竞赛了,上次赛后提了好多意见,不知道官方有没有看不过相比上次,这次比赛确实优化了不少比如页面内复制粘贴不会被警告了,界面也没有那么简陋了(但还是希望能继续优化)能否考虑 C++ 代码模板加上希望题目难度方面再多斟酌下,有难有易有区分比较好能否考虑统一竞赛开始时间,而不是用户自己选择时间进入考试,可以减少二次参赛的作弊情况这次题目真的很简单了,赛后看自己的排名是 28 名因为很多人都是满分,所以同分数按时长排名。

2022-09-24 13:29:00 625 1

原创 [Mybatis-Plus笔记] MybatisPlus-07-代码生成器及相关依赖

输出的文件包含 controller, entity, mapper, service,以及 mapperXml 文件在指定的路径下。如上面的代码中 src\\main\\java\\ 相对路径是可行的(注意要用 \\ 而不能用 / )新建一个类与 main 函数,调用生成器的 api 即可,代码可以直接复制做简单的修改。★ 如果你的项目是先建了空项目再添加的模块,那么起始路径会在项目文件夹下而不是模块下。输出目录可以用相对路径,默认起始路径在项目文件夹下(pom.xml 同级)

2022-09-23 17:51:54 603

原创 Windows命令行优美化:FluentTerminal安装与配置

flute.exe 在用户文件夹下的 AppData\Local\Microsoft\WindowsApps 文件夹下。在微软商城即可下载安装,搜索 Fluent Terminal(注意中间要有空格)在路径栏输入 flute 回车就会从当前路径打开,就和打开 cmd 一样的效果。之所以能直接打开是因为 window 默认将这个文件夹添加在了环境变量。默认打开时命令行所在位置是用户文件夹。

2022-09-22 20:03:26 508

原创 [Mybatis-Plus笔记] MybatisPlus-06-乐观锁

user1 进行更新后,version 值也自动被改变,所以 user1 可以继续进行更新操作,但 user2 想要更新就必须再进行一次查询来读取新的数据。可见更新时的 WHERE 语句中自动加入了对 version 的判断,如果数据库中的 version 值与当前 version 不相等,则不会更新。乐观锁指,对于同一个数据,某一个事务正在进行时,不会阻止其它事务的操作,但在更新操作时会判断此前是否有其它事务进行了更新。换句话讲,如果当前事务读取的数据是过时的,那么此事务不被允许进行更新操作。

2022-09-18 17:48:49 359

原创 [Mybatis-Plus笔记] MybatisPlus-05-id生成策略,多数据操作,逻辑删除

通常表结构中 id 不是自增主键,如果是自增的,那么无需指定 id 值也可正常插入,效果和 IdType.AUTO 相同。对应生成的长整型 id,简单来说从左到右分别为 1 位符号位,41 位时间戳(差值),10 位机器码,12 位序列号。自增 id 会按照顺序递增生成 id,插入数据时可以不带 id 值,也可以指定 id 值,但不能是已有的 id。插入数据时不指定 id 值便会使用雪花算法自动生成的 id,若指定了 id 则不会。表示为自增 id,需要表结构也将 id 设为自增主键。

2022-09-18 16:32:12 382

原创 [Mybatis-Plus笔记] MybatisPlus-04-映射匹配兼容性

实体类中的成员变量不存在于表中,注解 @TableField(exist = false) 在成员变量上。在实体类的成员变量上注解 @TableField(“字段名”) 来指定对应的字段。在实体类上注解 @TableName(“表名”) 来指定对应哪一个表。未指定时,默认将 BaseMapper 泛型中的类名作为表名。

2022-09-11 20:04:07 186

原创 [Mybatis-Plus笔记] MybatisPlus-03-QueryWrapper条件构造器

关于 and() 方法中的 lambda 表达式,在 idea 中 按住 ctrl 将鼠标放在 i 上,可以看到,i 指代的是一个 LambdaQueryWrapper如下例完成 20

2022-09-10 17:52:40 525

原创 [Mybatis-Plus笔记] MybatisPlus-02-分页查询

通过构造器或者 set 方法初始化 current 和 size,如果未初始化,默认 current 为 1,size 为 10。BaseMapper 接口中的 selectPage( ) 方法可以进行分页查询,参数是 Page 实例和条件选择器。通 过Mybatis-Plus 的日志可以看到 Preparing 的 SQL 语句。

2022-09-09 15:31:04 230

原创 [Mybatis-Plus笔记] MybatisPlus-01-入门案例与基本CRUD

本文主要参照 Mybatis-Plus 官网中的入门案例完成,只是官网中用的是 h2 数据库,本文用 mysql。

2022-09-08 17:21:41 165

原创 CSDN竞赛—第五期题解与感想

于是据此可以想到,根据质因数来构建一个 因子数为 n 的整数,比如 2 * 2 = 4 是因子数为 3 的整数,2 * 2 * 2 = 8 是因子数为 4 的整数,而 2 * 3 = 6 因子数也为 4 且比 8 更小,所以我们要做的就是找出最优的质因数组合,使结果最小。比如 n = 12 = 2 * 2 * 3 = (1 + 1) * (1 + 1) * (2 + 1),所以需要三个质数且指数分别 1,1,2,按贪心思想较小的指数分配较大的指数,所以的到 2。小艺接到一个任务,任务的总任务量是 n。

2022-09-07 19:14:22 468

原创 [SpringBoot] SpringBoot-05-多环境开发配置

在 yml 配置文件中,用三个横线分隔不同的环境,spring.config.activate.on-profile 属性表示当前环境名称,没有设置环境名称的部分,会作为默认配置,被所有环境采用,比如上例中的日志等级。即使 yaml 中配置了 spring.profiles.active 的值,还是会按照命令行来激活环境,因为命令行的优先级高于配置文件,同样的,配置文件中的其他属性也可以通过命令行来指定。这里就是在 pom 中指定 spring.profiles.active 的值,达到激活环境的目的。

2022-09-05 21:15:14 503 2

原创 [SpringBoot] SpringBoot-04-读取yaml配置文件

定义 Environment 成员变量,注解 @Autowired 即可,通过 .gerProperty(属性名) 函数来获取属性值。只需在成员变量上注解 @Value(“${属性名}”) 即可,用美元符号获取属性值。在刚才自定义 bean 时,IDEA 会报一个警告。,显示在页面的顶部,这个警告不会影响项目运行。

2022-09-05 19:25:20 619

原创 [SpringBoot] SpringBoot-03-配置文件格式

SpringBoot 项目最初 resources 下会有一个 application.properties 文件,格式和普通的 properties 文件一样,使用。若 application.properties 中没有此值,则采用 application.yml,最后才是 application.yaml。yml 和 yaml 都是 yaml 文件,格式和作用是相同的,但据说 yml 用的比较多,毕竟能少写一个字母(doge)既像 Python 又像 Json。又有点像 Markdown。

2022-09-04 16:30:47 156

原创 [SpringBoot笔记] SpringBoot-02-通过 jar 包启动项目

首先检查 pom.xml 文件中有没有写下面这个插件,如果没有就先加上:

2022-09-02 16:08:13 157

原创 [SpringBoot笔记] SpringBoot-01-快速入门案例

在我们创建项目时的主类包中有一个类,类名是 项目名 + Application(旧版本 Speing Boot 可能就是 Application),这个类中又一个 main 函数,运行这个类即可启动项目。左半侧是项目信息,和 IDEA 里的基本一样,多了个 Description 项目描述,无关紧要。既然说了 IDEA 创建的项目是从 Spring 官网下载来的,那我们再去官网创建一个试试。既然是 Web 项目,控制层还是要有的,我们简单的接收一下请求再返回一个字符串就行了。

2022-09-02 15:31:29 193 1

原创 Maven进阶-配置私服(Nexus 的使用)

对于项目的版本,通常有开发中的 SNAPSHOT(快照版本),和开发完成的 RELEASE(发布版本),通常为这两种版本的项目分别设置仓库,接下来我们试着创建 my-snapshot 和 my-release 两个仓库。所以私服就体现出了作用,私服可以作为中央管理系统来管理 Maven 依赖,一来它能供我们自由的上传和下载我们自己开发的项目,二来它能帮助我们下载中央仓库中的依赖。前面说过,仓库组(group)是将几个仓库联合起来的组,下载包时只需要指定仓库组,就能找到需要的依赖,而不必指定具体的仓库。

2022-09-01 20:37:56 763

原创 Maven进阶-多环境开发与跳过测试

如此配置之后,Maven 构建项目时就会采用对应环境的数据库连接属性,配合使用过滤资源文件,让资源文件能够引用环境中的属性,切换环境时就不用更改各种配置文件了,只需指定环境即可。activation 激活环境的条件多种多样,可以按操作系统激活,也可以按 jdk 版本激活,按照系统参数激活,按照是否存在某个文件激活,等等。而不同的环境中可能对同一属性配置了不同的值,此时先声明的环境中的属性会被后声明的所覆盖,不同版本的依赖同理。加入属性 -D skipTests 即可(skipTests 不区分大小写)...

2022-08-30 16:51:53 180 1

原创 Maven 更改 pom.xml 文件内容不起作用的解决方法

今天遇到的奇怪问题,pom.xml 文件无论怎么更改,构建项目之后都没有效果。解决方法:删除本地仓库中已经打好的包,再重新构建。

2022-08-29 22:53:11 479

原创 Maven进阶-属性与资源文件

事实上,这是为了后面的多环境开发做铺垫,因为不同的环境中这些属性的值可能会发生变化,此时来回更改配置文件就显得麻烦了,而我们按照环境分别设置属性值后,配置文件也会在不同环境下读取到对应的属性值,就不必更改配置文件。includes 内的 include 表示要引入的文件路径,所有路径均在 directory 下,可以使用通配符,上例中的 * 表示匹配一个字段,效果如下图,引入了 jdbc 文件夹内的所有文件,和任意当前文件夹下的 mybatis-config 开头任意后缀名的文件。.........

2022-08-29 22:35:01 148

原创 Maven进阶-继承与聚合

这时要说一说继承时说到的 relativePath 属性,前面说 relativePath 属性可以省略,前提是父模块已经构建并 install 至仓库,否则子模块无法构建,但此时父模块同时也聚合了子模块,要构建父模块就又要一起构建子模块,但构建子模块又需要父模块 install 至仓库……父模块的打包方式必须设置为 pom(默认打包方式是 jar)继承关系中,分为父模块与子模块,父模块也被称为 parent 模块,子模块会继承父模块的依赖,父模块中也可以设置依赖管理器,供子模块选择是否需要某些依赖。...

2022-08-28 13:42:42 203

原创 Maven进阶-依赖管理

示例中引入了 spring-context 5.1.19 为直接依赖,又引入 spring-webmvc 5.2.10,其中又依赖了 spring-context 5.2.10,但它是间接依赖,所以项目中所使用的 spring-context 资源是 5.1.19 版本的(但并不代表 webmvc 中的 context 版本也被改为了 5.1.19),图中也可以看到 IDEA 在依赖后边给出了冲突标识。直接依赖优先级最高,其次是间接依赖,然后是间接依赖的间接依赖 ……相同层级的依赖资源,先被声明的优先。.

2022-08-27 21:33:32 213

空空如也

空空如也

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

TA关注的人

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