- 博客(102)
- 收藏
- 关注
原创 Nacos踩坑记录之The IPv4 address(“nacos.xxxx.local“) is incorrect
Nacos踩坑记录之The IPv4 address("nacos.xxxx.local") is incorrect
2021-12-10 12:59:36 20743 19
原创 Java8中stream流的collectingAndThen方法应用实例
1.方法定义:此方法是在进行归纳动作结束之后,对归纳的结果进行二次处理。2.演示:User类准备/** * @desc: 用户实体类 * @author: ss.xin * @date: 2020/12/28 12:38 */@Data@AllArgsConstructorpublic class User { //用户Id int userId; //用户姓名 String userName; //用户工资 BigDecimal
2021-02-03 15:28:36 27255 18
原创 SpringBoot使用validator分组校验
SpringBoot中的分组校验允许根据不同场景灵活验证数据。主要有两种实现方式:使用@Validated注解在控制器层校验,和使用ValidateUtil在任意位置手动校验。前者与Spring MVC集成紧密,后者更加灵活。通过定义验证组、创建带注解的实体类,并选择合适的校验方法,可以有效确保数据正确性,提高应用程序健壮性和安全性。选择适当的验证策略对构建可靠的软件系统至关重要。
2020-06-08 18:13:24 890
原创 MyBatis中Collection和Association的底层实现原理
MyBatis中Collection和Association的底层实现原理
2024-09-10 17:39:17 766
原创 使用Nginx获取客户端真实IP(real_ip_header)
在使用 Nginx 作为反向代理或负载均衡器时,我们常常需要获取客户端的真实 IP 地址。然而,默认情况下,Nginx 记录的 IP 地址可能是上游代理或负载均衡器的 IP,而非实际客户端的 IP。为了确保我们能够正确获取和记录客户端的真实 IP,本文将介绍如何配置 Nginx,并进行调试。
2024-09-04 22:01:31 952
原创 Jackson常用注解详解
Jackson是Java中广泛使用的JSON处理库,提供了多种强大的注解来控制JSON序列化和反序列化。主要注解包括:@JsonProperty用于字段映射,@JsonIgnore用于忽略字段,@JsonFormat用于日期格式化,@JsonInclude控制属性包含条件,@JsonCreator指定构造函数,@JsonValue自定义序列化表示,@JsonIgnoreProperties忽略多个属性。这些注解使开发者能够精确控制JSON转换过程,提高代码可读性和可维护性,适用于各种复杂的JSON处理场景。
2024-07-30 14:31:03 636
原创 MySQL窗口函数详解
MySQL 8.0引入的窗口函数是一项强大特性,可简化复杂数据分析任务。本文介绍了窗口函数的概念、语法,并详细讲解了ROW_NUMBER()、RANK()、DENSE_RANK()、LAG()、LEAD()等常用函数。通过员工排名、成绩排序、销售增长率计算和移动平均值计算等实际应用场景,展示了窗口函数在处理排名、时间序列数据和累计计算方面的强大能力,有助于提高数据分析效率。
2024-07-25 23:12:50 1952
原创 SpringBoot整合SSE技术详解
本文详细介绍了如何在SpringBoot中整合Server-Sent Events (SSE)技术。文章阐述了SSE的基本概念、特点及其在SpringBoot中的实现方法,包括代码示例。同时,对比了SSE和WebSocket的区别,探讨了它们各自的优势和适用场景。文章强调SSE在单向实时通信中的简单性和效率,为开发者在选择实时通信技术时提供了valuable指导。
2024-07-23 23:42:18 1602
原创 SpringBoot集成Kaptcha验证码
本文全面介绍了Kaptcha验证码库的使用方法和特性。文章涵盖了Kaptcha的基本概念、主要特性、工作原理,以及在Java项目中的具体实现步骤。同时,深入探讨了Kaptcha的高级配置选项,包括去除干扰线、添加水纹效果等,并提供了详细的配置表。文章还讨论了使用验证码时的安全性考虑,分析了Kaptcha的优缺点,并对验证码技术的未来发展进行了展望。对于想要在web应用中实现高度可定制验证码的开发者来说,本文是一份全面而实用的指南。
2024-07-21 11:24:11 1237
原创 SpringBoot整合Kaptcha实现图片验证码加减乘除
介绍如何使用Kaptcha生成自定义图片验证码,并将验证码内容设置为100以内的加减乘除运算。
2024-07-21 09:49:46 434
原创 Jackson: Java的强大JSON处理利器
Jackson是一个用于处理JSON数据的开源Java库。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于计算机解析和生成。在Java领域,Jackson已经成为处理JSON数据的事实标准库。它提供了丰富的功能,包括将Java对象转换为JSON字符串(序列化)以及将JSON字符串转换为Java对象(反序列化)
2024-07-19 09:15:00 1070
原创 自定义Bean转换工具类
BeanConvertor是一个强大的Java对象转换工具类,旨在简化对象间的数据转换过程。它提供了四个核心方法,包括基于反射的简单对象转换和基于Jackson的复杂对象转换。通过使用BeanConvertor,开发者可以显著减少重复代码,提高开发效率,并降低手动转换的错误风险。无论是简单的DTO转换还是复杂的嵌套对象结构,BeanConvertor都能提供高效的解决方案。
2024-07-19 09:00:00 615
原创 Java使用Thumbnailator图片处理指南
Thumbnailator是一个功能强大且易于使用的Java图片处理库。无论是缩放、裁剪、旋转还是格式转换,Thumbnailator都提供了简洁的API,使这些操作变得非常简单。
2024-07-14 20:20:01 1032
原创 使用Java实现图片大小压缩
文章介绍了如何使用Java实现图片大小压缩,包括从输入流读取图片、压缩图片并通过输出流返回压缩后的图片数据。我们利用Thumbnailator库进行压缩,并创建了一个Spring Boot控制器来提供RESTful接口。
2024-07-14 19:55:19 2217 1
原创 Linux 定时任务详解:全面掌握 cron 和 at 命令
本文介绍了 Linux 中常用的定时任务管理工具 `cron` 和 `at`,包括 `crontab` 文件格式、任务设置、查看、删除及示例任务。同时,还涵盖了最佳实践和注意事项,如权限管理、日志记录、任务备份与恢复、测试定时任务及使用完整路径,帮助用户高效管理和调度系统任务。
2024-07-06 19:52:12 831
原创 SpringBoot实现文件下载限速
本文介绍了如何在SpringBoot项目中实现文件下载限速功能,以控制服务器带宽的占用并防止单个用户消耗过多资源。通过创建一个限速工具类和在控制器中使用`StreamingResponseBody`处理文件下载请求,我们可以实现大文件的逐步传输和传输速率控制。具体代码示例和详细解释帮助读者理解并实现这一功能,从而优化服务器资源使用,提升用户体验。
2024-06-28 11:40:32 725
原创 我的创作纪念日
在创作方面,我希望能拓展内容的广度和深度,尝试制作一些视频教程或者开设技术讲座,以更生动的形式传递知识。此外,我还通过建立知识库,将平时学习的资料和笔记系统化,这样在写作时可以快速查找和引用。此外,很多读者提出的问题和建议,也让我在技术上得到了进一步的提升。总结而言,写作不仅是我技术成长的重要方式,也是我与同行交流和分享经验的平台。通过不断的学习和实践,我希望能在职业和创作的道路上走得更远,为更多的开发者提供帮助。通过持续的写作和分享,我的博客已经收获了1.5W+的粉丝和24W+的访问量。
2024-06-07 11:04:43 958
转载 用Redis高效实现限流功能
在高并发场景下,接口限流能够防止系统过载,确保服务的可用性和稳定性。限流策略的选择和实现方式,直接影响到用户体验和系统的负载能力。而Redis作为强大的内存数据库,以其卓越的性能和原子操作特性,成为了实现接口限流的理想选择。它不仅可以快速响应请求,还能通过其丰富的数据结构,如字符串、列表、有序集合等,来辅助实现多样化的限流逻辑。
2024-05-28 17:53:45 102
原创 Java对接微信扫码支付Native支付-V3版本接口
Java对接微信Native支付扫码支付V3版本接口,详细介绍了Java对接微信Native支付扫码支付V3版本接口的对接流程
2024-04-19 11:13:51 1965 5
原创 如何在Ingress中进行路径重写rewrite-target
使用nginx.ingress.kubernetes.io/rewrite-target进行路径转发
2024-02-05 23:06:40 1108
原创 Java Stream:List分组成Map或LinkedHashMap
List集合可以通过stream()进行分组,但是一般默认得到的是无序的map集合,那么如何分组成有序的LinkedHashMap集合呢,
2023-11-10 15:59:56 5732
原创 zookeeper异常 Cannot open channel to 3 at election address
zookeeper异常 Cannot open channel to 3 at election address今天在测试服务器搭建单机zookeeper集群的时候遇到了下面的问题,花费了很长的时间才解决掉。
2023-09-20 22:52:27 984
原创 MFA多因素认证和TOTP认证逻辑解析
这篇博客深入探讨了MFA多因素认证及其核心组成部分,重点介绍了基于时间的一次性密码(TOTP)的工作原理和优势,强调了MFA和TOTP在提升在线安全性方面的重要性。
2023-08-15 21:26:59 687
原创 使用 Ingress 和 Nginx 进行路径重写和代理的指南
通过本文,我们详细介绍了如何使用Ingress注解和 Nginx 的proxy_pass配置实现路径重写和代理的功能。我们深入探讨了这些配置的工作原理,并提供了包含重定向前和重定向后的 URL 示例来帮助您更好地理解和应用这些概念。路径重写和代理对于构建强大的应用程序架构非常重要,能够根据需求灵活地处理请求路径和转发到不同的后端服务。希望本文对您有所帮助。如果您有任何问题或疑虑,请随时提问。
2023-07-13 01:15:38 3653
原创 深入理解Java Lambda表达式
Lambda表达式是Java 8引入的重要特性,它提供了一种简洁、灵活的函数式编程方式。本文将深入探讨Java Lambda表达式的概念、语法以及在实际开发中的应用场景。
2023-06-29 16:18:31 182
原创 使用Java的RandomAccessFile类实现大文件分片上传功能
本文介绍了使用Java的RandomAccessFile类实现大文件分片上传的方法。通过设置文件切片大小和路径,并计算切片数量,我们可以循环读取并上传每个切片。使用RandomAccessFile类,精确读取指定部分的文件数据。通过构建上传URL并发送切片数据,实现了高效上传和降低内存消耗。这种方法提高了上传效率,适用于处理大文件上传。通过本文,你将了解如何使用RandomAccessFile类处理大文件的分片上传。
2023-05-30 16:57:23 2119
原创 MySQL中ON DUPLICATE KEY UPDATE和REPLACE INTO区别
MySQL中ON DUPLICATE KEY UPDATE和REPLACE INTO区别
2023-05-16 13:51:17 868
BeanConvertor工具类Java开发Bean转换拷贝工具类
2024-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人