- 博客(304)
- 资源 (9)
- 问答 (1)
- 收藏
- 关注
原创 【SpringBoot】97、SpringBoot中使用EasyExcel导出/导入数据
EasyExcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便
2024-09-18 21:47:27 103
原创 【VUE】11、安装nvm管理多个版本的node.js
nvm 全称为 Node Version Manager,即 Node.js 版本管理器。它是一个用于在同一台机器上管理多个 Node.js 版本的工具。通过 nvm,用户可以轻松地安装、切换、卸载不同版本的 Node.js,而无需担心版本冲突或环境变量配置问题。这使得开发者能够根据不同的项目需求,灵活地选择和使用合适的 Node.js 版本
2024-09-10 10:19:26 439
原创 【SpringBoot】96、SpringBoot中使用RedisTemplate的scan方法查找所有的key
SCAN 命令是一个基于游标的迭代器,每次被调用之后, 都会向用户返回一个新的游标, 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数, 以此来延续之前的迭代过程
2024-09-06 14:23:40 219
原创 【微信公众号】18、SpringBoot整合WxJava实现openApi管理
本接口用于清空公众号/小程序/第三方平台等接口的每日调用接口次数,如获取accesss_token次数耗尽无法调用重置 API 调用次数,则使用AppSecret充值 API 调用次数。
2024-08-28 10:40:42 49
原创 【VUE】10、VUE项目中多环境管理使用
在 Vue 项目中,实现多环境管理(如开发环境、测试环境、生产环境)通常涉及到配置不同的环境变量和构建设置。Vue CLI 提供了一种简单而强大的方式来管理这些环境。
2024-07-15 14:35:33 562
原创 【VUE】9、VUE项目中使用VUEX完成状态管理
Vuex 是一个专为 Vue.js 应用程序设计的状态管理模式,它帮助开发者更有效地管理组件间共享的状态。在 Vue 项目中使用 Vuex,可以解决复杂应用中状态管理的困扰,确保状态变更的可追踪性和一致性。
2024-07-15 14:20:16 681
原创 【SpringBoot】95、SpringBoot中使用MyBatis-Plus实现自动加密存储和查询自动解密
有的业务需要将敏感数据加密存储到 DB,如果我们每个都手动去加密,再设值,再保存 DB,不仅麻烦,还对每个开发者不友好,在 MyBatis-Plus 中我们可以使用 BaseTypeHandler 来解决这个问题
2024-07-11 15:16:54 445
原创 MySQL中的JOIN、LEFT JOIN、RIGHT JOIN、CROSS JOIN讲解
在 MySQL 中,JOIN 是一种非常强大的功能,它允许你将两个或多个表中的行结合起来,基于两个表之间的共同字段。这种操作在数据库查询中非常常见,特别是在处理关系型数据库时。下面我将分别解释 JOIN、LEFT JOIN(也称为 LEFT OUTER JOIN)和 RIGHT JOIN(也称为 RIGHT OUTER JOIN)的基本概念和用法。
2024-07-10 14:43:50 538
原创 MySQL中实现随机排序
这些方法仅适用于普通查询,若需要在多次查询中保持数据的随机次序,需要在查询时提供一个固定的随机种子,并在之后的查询中使用相同的随机种子
2024-06-20 09:14:04 662
原创 【SpringBoot】94、SpringBoot中使用MyBatis-Plus实现数据权限管理
数据权限是指在特定场景下,对数据的访问、使用、共享等操作的权限。它涉及到系统用户能看到哪些范围内的数据,以及这些用户如何操作这些数据
2024-06-13 16:35:31 381 2
原创 【SpringBoot】93、SpringBoot中使用Jasypt实现配置文件中敏感数据加密
Jasypt(Java Simplified Encryption)是一个 Java 库,它允许开发人员以最小的努力为项目添加基本的加密功能,而无需深入了解密码学的工作原理
2024-05-17 10:09:25 183
原创 【SpringBoot】92、SpringBoot中使用SSE实现服务端向客户端推送实时消息
在Spring Boot中整合Server-Sent Events (SSE) 是一种简单且有效的方法,用于实现服务器向客户端推送实时更新的功能。SSE 是一种服务器到客户端的单向通信协议,允许服务器推送消息到客户端,而不需要客户端发出请求。
2024-04-26 10:49:22 650 1
原创 【SpringCloud】12、Spring Cloud使用OpenFeign实现服务调用
OpenFeign目前是Spring Cloud的二级子项目。它是一个声明式、模板化的HTTP客户端,仅在Application Client中使用。声明式调用是指,就像调用本地方法一样调用远程方法,无需感知操作远程HTTP请求。学习完OpenFeign后可以不使用RestTemplate进行调用。Spring Cloud的声明式调用,可以做到使用HTTP请求远程服务时能就像调用本地方法一样的体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
2024-01-17 11:05:33 203
原创 【SpringCloud】11、Spring Cloud Gateway使用Sentinel实现服务限流
Sentinel 是阿里巴巴开源的一个流量防卫防护组件,可以为微服务架构提供强大的流量防卫能力,包括流量控制、熔断降级等功能。Spring Cloud Gateway 与 Sentinel 结合,可以实现强大的限流功能。
2024-01-10 14:59:57 800
原创 【SpringCloud】10、Spring Cloud Gateway全局过滤器
全局过滤器 (Global Filters) 是 Spring Cloud Gateway 提供的一种机制,允许我们在网关级别应用一系列的逻辑,比如请求/响应的预处理和后处理。
2024-01-10 13:54:42 556
原创 【SpringCloud】9、Spring Cloud Gateway跨域配置
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对 JavaScript 施加的安全限制。
2024-01-07 16:46:23 619
原创 【SpringCloud】8、Spring Cloud Gateway熔断降级
熔断降级是分布式系统中的一种保护机制,用于防止系统因异常或过载而崩溃,从而提高系统的可用性和稳定性。在 Spring Cloud Gateway 中,熔断降级可以通过 Hystrix 实现。Hystrix 是 Netflix 开源的一个延迟和容错库,提供服务降级、请求隔离、线程隔离等功能。
2024-01-07 16:45:37 1001
原创 【SpringCloud】7、Spring Cloud Gateway限流配置
Spring Cloud Gateway 的限流配置主要涉及到令牌桶算法的实现。令牌桶算法可以对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。
2024-01-05 11:53:09 1093
原创 【SpringCloud】6、Spring Cloud Gateway路由配置
Spring Cloud Gateway 的路由配置方式主要有三种:HTTP路由,LB路由和WebSocket路由。三种方式可以根据实际需求选择使用,每种方式都有其适用的场景和特点。
2024-01-05 11:42:24 965
原创 【SpringCloud】5、Spring Cloud Gateway网关路由规则
Spring Cloud Gateway 创建 Route 对象时, 使用 RoutePredicateFactory 创建 Predicate 对象,Predicate 对象可以赋值给 Route。
2024-01-04 14:34:35 533
原创 【SpringCloud】4、Spring Cloud Gateway网关服务搭建
Spring Cloud Gateway 是基于 Spring 生态系统之上构建的 API 网关,包括:Spring 5.x,Spring Boot 2.x 和 Project Reactor。Spring Cloud Gateway 旨在提供一种简单而有效的方法来路由到 API,并为它们提供跨领域的关注点,例如:安全性,监视/指标,限流等。
2024-01-04 14:22:39 797
原创 【SpringBoot】91、SpringBoot解决Mybatis-Plus生成雪花ID重复问题
只要 workerId 和 dataCenterId 不同时重复,生成的雪花 ID 就不会重复。这是因为每个 ID 都是唯一的,并且是根据特定的算法生成的
2023-12-21 15:24:00 2496
原创 MySQL数据库连接工具—MySQL Workbench
MySQL Workbench 使 DBA、开发人员或数据架构师能够直观地设计、建模、生成和管理数据库。它包括数据建模师创建复杂 ER 模型、正向和反向工程所需的一切,还提供了执行困难的更改管理和文档任务的关键功能,这些任务通常需要花费大量时间和精力
2023-11-01 16:45:22 12545
原创 【tio-websocket】15、学习tio的第1步—tio-study
tio-study 是用于学习 t-io 的示范工程,tio-study 是入门 t-io 最好的方式!tio-study 工程演示的是一个典型的 TCP 长连接应用工程,分为 server(服务端) 和 client(客户端) 工程,server 和 client 共用 common(公共模块) 工程
2023-11-01 14:43:57 12597
原创 【tio-websocket】14、消息来往监听—AioListener
AioListener 是消息往来监听的核心接口,它有两个子接口,ClientAioListener 和 ServerAioListener,当用 t-io 作 TCP 客户端时需要实现 ClientAioListener,当用 t-io 作 TCP 服务端时需要实现 ServerAioListener
2023-10-30 15:59:39 13375
原创 【tio-websocket】8、T-IO对半包和粘包的处理
t-io对数据的解码是在DecodeRunnable中完成的,一个TCP连接对应一个DecodeRunnable,半包粘包的处理也都在DecodeRunnable中完成的
2023-10-25 11:20:05 16532
原创 【tio-websocket】13、消息编码、解码、处理—AioHandler
TioHandler是处理消息的核心接口,它有两个子接口,AioClientHandler和AioServerHandler,当用t-io作TCP客户端时需要实现AioClientHandler,当用t-io作TCP服务器时需要实现AioServerHandler
2023-10-25 10:54:56 16639
原创 【tio-websocket】12、应用层包—Packet
Packet 是用于表述业务数据结构的,我们通过继承 Packet 来实现自己的业务数据结构,对于各位而言,把 Packet 看作是一个普通的 VO 对象即可。
2023-10-25 10:47:43 16664
原创 【tio-websocket】11、群组成员内置排序规则
和给 List 数组排序一样,我们需要实现一个比较器,来给群组成员实现排序规则,使得群组里的元素是有序放置的。
2023-10-25 10:29:50 16213
原创 【tio-websocket】10、单条TCP连接上下文—ChannelContext
每一个 tcp 连接的建立都会产生一个 ChannelContext 对象,这是个抽象类。如果你是用 t-io 作 TCP 客户端,那么就是 ClientChannelContext如果你是用 t-io 作 TCP 服务器,那么就是 ServerChannelContext。
2023-10-24 15:39:16 16905
原创 【tio-websocket】9、服务配置与维护—TioConfig
TioConfig就是解决以上场景的:配置线程池、监听端口,维护客户端各种数据等的
2023-10-24 15:28:52 17217
原创 API 接口参数签名的几种方案
在涉及跨系统接口调用时,我们容易碰到以下安全问题:请求身份被伪造、请求参数被篡改、请求被抓包,然后重放攻击
2023-09-26 09:27:32 28692 6
原创 【SpringBoot】90、SpringBoot中@Value(“${...}“)的使用细节
@Value 注解可以用来将外部的值动态注入到 Bean 中,注入配置文件中的配置参数、注入文件资源、注入URL资源等,我们还可以使用自定义注解实现统一注入管理
2023-09-20 15:25:46 30634
原创 【Redis GEO】3、地理位置类型的性能优化及使用限制
在使用 Redis 的地理位置类型时,为了提高查询性能和降低资源消耗,需要进行一些优化和性能考虑
2023-09-20 14:28:56 30456
原创 【Redis GEO】2、地理位置类型的应用场景
Redis 的地理位置类型(Geo)在实际应用中有着广泛的应用场景。下面将介绍几个常见的应用场景,并详细说明如何使用地理位置类型来实现。
2023-09-20 14:23:24 30158
原创 【Redis GEO】1、地理位置类型的基本用法
地理位置类型是 Redis 提供的一种特殊数据类型,用于存储和处理地理位置信息。它结合了经度(longitude)和纬度(latitude)信息,能够高效地处理地理位置相关的查询和计算
2023-09-20 14:06:44 30205
原创 使用新版Maven-mvnd快速构建项目
目前我们项目的构建方式多数是 maven、gradle,但是 maven 相对 gradle 来说,构建速度较慢,特别是模块相对较多的时候,构建速度更加明显。但是我们将项目由 maven 替换为 gradle 相对来说会比较麻烦,成本较高。于是我们可以选择 mvnd 来构建项目,可以使得构建项目速度更快,而且项目无需任何改动。
2023-09-14 11:17:16 32361
原创 巧用Lambda表达式获取对象属性名告别魔法值
在我们日常开发中,使用 MyBatis-Plus 写 SQL 执行的时候,难免会用到表字段,虽然 MyBatis-Plus 提供了 LambdaQueryWrapper 帮助我们使用 Lambda 方式调用对象属性名,但有的时候还是不免用到魔法值,当对象的属性名更改了之后,我们难免会漏掉,引发生产事故
2023-09-13 15:09:21 32962 3
MySQL Workbench菜单汉化文件
2023-11-01
Java转PDF.zip
2020-08-11
consul_1.4.1_windows_amd64.zip
2020-04-08
网页打印工具:clodop
2020-04-08
一款网页图片预览插件:viewer
2020-04-08
Tomcat服务监控工具probe
2020-04-08
MySQL查询最大连胜数据--解答
2021-10-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人