- 博客(72)
- 收藏
- 关注
原创 SpringBoot2.3.1集成Knife4j接口文档
首先要查看项目中pom文件里面有没有swagger和knife4j的依赖,如果有的话删除,加入以下依赖。2.在controller上面加tag注解可以给controller接口起名字,改变英文显示。新建WebAppConfig类来控制./doc.html可以访问。到此配置完毕,范围localhost:后端端口/doc.html。operation则会改变接口的名字。
2025-06-03 16:39:20
471
原创 虚拟机安装达梦数据库
(Y/y:是 N/n:否) [Y/y]:Y。YOUR_DB_INSTANCE_NAME:数据库实例名称,替换成你想要的名字。YOUR_DB_NAME:和上一步中的YOUR_DB_NAME保持一致。(Y/y:是 N/n:否) [Y/y]:N。请选择安装语言(C/c:中文 E/e:英文) [C/c]:C。(Y/y:是 N/n:否) [Y/y]:Y。请选择安装目录 [/opt/dmdbms]:/opt/dm。YOUR_DB_NAME:数据库名称,替换成你想要的名字。(Y/y:是 N/n:否):Y。
2025-05-16 09:35:33
802
原创 使用nps配置内网穿透加域名解析
确保错误页面路径正确。cp startup102-3306-9018.sh startup本地ip-本地端口号-外网访问端口号.sh。修改-vkey为3生成的-vkey, 并修改日志的名称为log本地ip-本地端口号-外网访问端口号.log。./startup本地ip-本地端口号-外网访问端口号.sh。查看日志是否启动成功。
2025-05-15 19:22:30
366
原创 natapp结合nginx使用一个域名跑两个服务
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none。clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,mac 下,终端运行。此时打开对应的域名地址即可访问到本地启动的对应服务。监听我们的端口,我的前端项目端口为 80,故使用 80 端口,配置了前后端项目代理,例如这里我的前端项目启动的服务地址为。
2025-05-14 10:56:18
972
原创 在虚拟机中安装Linux详细教程
运行指令:tar -xvf VMware-Workstation-Full-版本 号.x86_64.tar。自定义硬件-新CD/DVD(SATA),浏览【CentOS镜像所在位置(之前所放在的位置)】,找到将其打开即可。④ 配置如下图所示就行(选择Linux(L)后版本默认一般选择Ubuntu),完成下一步。再点击左上角的完成,退出来可以看到,网络问题已经解决了。直接点击右上角完成,回到配置页面,可以看到,这个也解决了。将阿里云的源输入进去,然后点击 完成 ,就配置好了。最后,我们配置 软件选择。
2025-04-25 17:25:41
942
原创 Linux安装Elasticsearch详细教程
M1(Arm) 系列 Mac 用户建议选择 ES 7.8.x 以上版本,因为考虑到 ELK 不同产品自身兼容性,7.8.x以上版本原生支持 Arm 原生 JDK。ES 8.x 及之后版本,选择 Java 17 或者 Java 18,建议 Java 17,因为对应版本的 Logstash 不支持 Java 18。注:如果Linux服务本来没有配置jdk,则会直接使用es目录下默认的jdk,反而不会报错。#修改/etc/sudoers文件,进入超级用户,因为没有写权限,所以要先把写权限加上。
2025-04-11 16:40:19
916
原创 单点登录云平台子系统集成方式
log.warn("参数校验失败异常:-----------------" + fieldError.getDefaultMessage());log.warn("自定义异常:-----------------" + e.getMessage());// 取得token。log.warn("参数校验失败异常:-----------------" + message);4. 请保持网络连接;
2025-04-11 13:59:14
1090
原创 centos 编译安装 python 和 openssl
安装环境:centos 7.9 : python 3.10.5 和 openssl 3.0.12centos 6.10 : python 3.10.5 和 openssl 1.1.1两个环境都能安装成功,可以正常使用。
2025-04-08 11:11:23
445
2
原创 Vue实现动态数据透视表(交叉表)
需求:需要根据前端选择的横维度、竖维度、值去生成一个动态的表格,然后把交叉的值放入到对应的横维度和竖维度之下,其实就是excel里面的数据透视表功能,查询交叉语句为sql语句。获取动态表头方法:通过前端传过来的数据库字段的值,distinct查出这个字段有什么值,然后转化成对应的map集合发给前端实现动态表格。选择一下横维度、竖维度、值之后点击查询即可出现交叉结果。其余的条件都是过滤条件。
2025-03-27 20:08:09
555
原创 Hutool创建数据源工厂动态查询不同数据库不同数据表的数据
需要我去通过各种不同的id找到不同的表,最后的重点是通过数据库表里存的连接信息,用户名和密码去指定数据库类型(比如MySql、DM等)数据库做链接然后找到对应数据表里的所有信息。Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;
2025-02-20 16:10:04
386
原创 DeepSeek-R1+对话页面本地部署保姆级教程
选择好模型之后,点击右侧这个按钮,复制指令,这里是:ollama run deepseek-r1:7b。接下来让我们回到官网,找到models去寻找deepseek-r1(现在很火,第一个就是)安装完成后,你会发现你的Docker界面里多了Open WebUI的条目。但是在命令行窗口下对话,还是太抽象,我们需要一个美观的图文交互界面。下载完成之后选择安装,安装完成之后任务栏会有一个常驻的小羊驼标志。图形界面的DeepSeek-R1,准备就绪,随时待命!使用win+r,输入cmd召唤出命令行窗口。
2025-02-08 14:52:54
677
原创 使用NPS内网穿透图文详细教程
NPS及内网穿透介绍:NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,以下是关于它的详细介绍:内网穿透是一种技术,允许通过公网访问内网的设备和服务。NPS通过在公网上搭建一个服务器,然后将内网设备和服务通过一个安全的隧道连接到这个服务器上,从而实现公网访问。协议支持全面:兼容几乎所有常用协议,如TCP、UDP、HTTP(S)、SOCKS5、P2P等。全平台兼容:支持Linux、Windows、Mac系统,还支持一键安装为系统服务,简化操作流程。控制全面:服务端和客户端控制一体化,管理更加便捷。HT
2025-01-14 15:17:32
1960
2
原创 vue使用iconfont图标
这样就会把图标添加到图标库就可以使用<i>来使用这个图标。1.首先找到想要添加的图标选择添加到购物车。4.复制之后,粘贴到index.html下。记得class里要加上iconfont。是配置未点击的颜色以及点击以后的颜色。3.点击生成在线链接。
2024-12-30 10:41:08
359
原创 获取数据库中字段的数据作为下拉框选项
如题:当我们想把数据库中字段的数据作为对应的下拉框选项,并且数据库字段很多的时候。应该在后端获取这个表里有多少字段,遍历这个表,拿到所有的字段并放到一个map集合里,我们看看代码。这个表里有大概四五十个字段,我们不能每一个字段都写一个对应获取的方法,所以我们在controller层直接使用这个方法。同时要定义一个selectSource数据来接受返回的字段。连接到数据库后,遍历字段个数并且插入到map集合里。
2024-12-24 09:49:20
537
原创 实现Excel文件和其他文件导出为压缩包,并导入
导出后的文件组成:excel文件:代码拆解:通过前端传来的menuIds进行遍历,把每一条数据插到excel里面并且通过menuIds找到文件名与之对应的ktr文件放到文件夹中。我这里的id和groupId位数特别长,所以对这两列做了默认为文本的处理,否则会变成科学计数法,会丢精。具体如下:把ktr文件放到ktr命名的文件夹中,并关闭压缩文件流导出就完成了。
2024-11-26 17:52:49
643
原创 改写抛出异常的方法
我判断这个条数据是不是在另一个表里已经审核完成,如果没有审核完成就抛出异常,只想拼接一个设备编号未完成审核的字符串,让我们ctrl点进去exception里面看看。只是略微改变了参数,不接收错误码的code和msg,只单纯传一个字符串抛给前端显示。芋道框架的抛出异常的方法很好用,但是要配合错误码也就是api里的ErrorCode。但是我们如果不需要错误码,想自己定义一个异常我们就要改写一下他的方法。非常好用,欢迎大家加我的微信我们一起交流:sxy0802000。绿色的就是我新写的方法。
2024-11-21 09:50:45
211
原创 芋道框架审批流如何实现(Cloud+Vue3)
这是我自己写的一个改变状态的rpc,大家可以自己写一个,我相信并不难,我放这大家可以参考。这个方法会根据返回的审批id去查找符合条件的数据集合,也就是同一时间审批的那一批数据。记住这里的PROCESS_KEY和prefix,后面有用,这是唯一的标识。这里的表单查看地址对应了一个只能查看的页面用于审批的时候能够看到审批的信息。改变状态的方法就写好了,接下来我们去Bpm模块写一个监听方法。
2024-11-05 17:04:31
936
原创 微服务面试篇
TCC模式的每个阶段是做什么的?Try:资源检查和预留Confirm:业务执行和提交Cancel:预留资源的释放TCC的优点是什么?一阶段完成直接提交事务,释放数据库资源,性能好相比AT模型,无需生成快照,无需使用全局锁,性能最强不依赖数据库事务,而是依赖补偿操作,可以用于非事务型数据库TCC的缺点是什么?有代码侵入,需要人为编写try、Confirm和Cancel接口,太麻烦软状态,事务是最终一致需要考虑Confirm和Cancel的失败情况,做好幂等处理、事务悬挂和空回滚处理。
2024-10-22 21:17:54
1027
原创 echarts柱图前后端代码SpringCloud+Vue3
♥️作者:小宋1021🤵♂️个人主页:小宋1021主页♥️坚持分析平时学习到的项目以及学习到的知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油。
2024-10-15 15:24:20
498
2
原创 echarts饼图前后端代码SpringCloud+Vue3
♥️作者:小宋1021🤵♂️个人主页:小宋1021主页♥️坚持分析平时学习到的项目以及学习到的知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油。
2024-10-15 15:15:02
448
原创 Redis面试篇
Sentinel的三个作用是什么?集群监控故障恢复状态通知Sentinel如何判断一个redis实例是否健康?每隔1秒发送一次ping命令,如果超过一定时间没有相向则认为是主观下线(sdown如果大多数sentinel都认为实例主观下线,则判定服务客观下线(odown故障转移步骤有哪些?首先要在sentinel中选出一个leader,由leader执行failover选定一个slave作为新的master,执行,切换到master模式然后让所有节点都执行slaveof新master。
2024-10-15 09:49:42
1068
原创 高性能分布式搜索引擎Elasticsearch详解
分词器的作用是什么?创建倒排索引时,对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度:最细切分,细粒度IK分词器如何拓展词条?如何停用词条?利用config目录的文件添加拓展词典和停用词典在词典中添加拓展词条或者停用词条。
2024-09-20 22:32:38
1558
原创 玩转RabbitMQ声明队列交换机、消息转换器
♥️作者:小宋1021🤵♂️:小宋1021主页♥️坚持分析平时学习到的项目以及学习到的知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油在之前我们都是基于RabbitMQ控制台来创建队列、交换机。但是在实际开发时,队列和交换机是程序员定义的,将来项目上线,又要交给运维去创建。那么程序员就需要把程序中运行的所有队列和交换机都写下来,交给运维。在这个过程中是很容易出现错误的。因此推荐的做法是由程序启动时检查队列和交换机是否存在,如果不存在自动创建。
2024-09-20 00:03:32
1360
原创 RabbitMQ:交换机详解(Fanout交换机、Direct交换机、Topic交换机)
交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列Direct交换机根据RoutingKey判断路由给哪个队列如果多个队列具有相同的RoutingKey,则与Fanout功能类似Topic交换机描述下Direct交换机与Topic交换机的差异?
2024-09-18 21:58:39
1892
原创 RabbitMQ:WorkQueues模型
♥️作者:小宋1021🤵♂️:小宋1021主页♥️坚持分析平时学习到的项目以及学习到的知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油Work queues,任务模型。简单来说就是。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以使用work 模型,了。接下来,我们就来模拟这样的场景。基本思路如下:1.在RabbitMQ的控制台创建一个队列,名为work.queue。
2024-09-18 20:32:31
746
原创 java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
由于不想和DO混用,就单独为导出的字段建立实体类,一方面是容易使用 @ExcelProperty注解,方便观察,另一方面是有些字段在数据库存的是业务字典的value,是Integer类型,我需要再定义一个String类型的字段来接收于业务字典匹配完成后的label的值并完成导出。场景:由于业务需求的变化,老师的科目由单个变成了多个,我在存储的时候存储的是数组的字符串,类似于:“[103, 202, 203, 204]”,这就需要去掉左右两侧[]以及拆分成字符串数组再与业务字典进行匹配。
2024-09-18 16:30:10
1362
原创 SpringAMQP快速入门
♥️作者:小宋1021🤵♂️:小宋1021主页♥️坚持分析平时学习到的项目以及学习到的知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油将来我们开发业务功能的时候,肯定不会在控制台收发消息,而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议,因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息,都可以与RabbitMQ交互。并且RabbitMQ官方也提供了各种不同语言的客户端。
2024-09-09 23:56:30
1287
1
原创 RabbitMQ异步通信详解
♥️作者:小宋1021🤵♂️:小宋1021主页♥️坚持分析平时学习到的项目以及学习到的知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油微服务一旦拆分,必然涉及到服务之间的相互调用,目前我们服务之间调用采用的都是基于OpenFeign的调用。这种调用中,调用者发起请求后需要服务提供者执行业务返回结果后,才能继续执行后面的业务。也就是说调用者在调用过程中处于阻塞状态,因此我们称这种调用方式为,也可以叫。但在很多场景下,我们可能需要采用的方式,为什么呢?
2024-09-08 23:36:20
1432
原创 SpringCloud:服务保护和分布式事务详解
核心库(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。在项目中引入依赖即可实现服务限流、隔离、熔断等功能。控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。为了方便监控微服务,我们先把Sentinel的控制台搭建出来。
2024-08-19 08:30:00
1705
原创 微服务通过nacos实现动态路由
♥️作者:小宋1021🤵♂️:小宋1021主页♥️坚持分析平时学习到的项目以及学习到的知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油网关的路由配置全部是在项目启动时由在项目启动的时候加载,并且一经加载就会缓存到内存中的路由表内(一个Map),不会改变。也不会监听路由变更,所以,我们无法利用配置热更新来实现路由更新。因此,我们必须监听Nacos的配置变更,然后手动把最新的路由更新到路由表中。这里有两个难点:如何监听Nacos配置变更?如何把路由信息更新到路由表?
2024-08-18 12:09:06
1842
原创 多个文件上传
♥️作者:小宋1021🤵♂️:小宋1021主页♥️坚持分析平时学习到的项目以及学习到的知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油。
2024-08-17 13:13:51
1319
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人