- 博客(121)
- 资源 (14)
- 收藏
- 关注
原创 【openFeign详细介绍】
OpenFeign 是一个基于动态代理和注解处理的 HTTP 客户端框架,其核心原理是将 Java 接口调用转换为格式化 HTTP 请求。通过 @FeignClient 注解标记接口后,Spring 会为其创建动态代理对象,在方法调用时解析注解信息构建 HTTP 请求模板,并通过集成 Ribbon 或 Spring Cloud LoadBalancer 实现服务发现和负载均衡。
2025-09-16 22:05:18
576
原创 SpringBoot3 集成hutool-captcha 代码实现
本文介绍了SpringBoot3集成hutool-captcha验证码的实现方法。hutool-captcha提供的ICaptcha接口包含创建验证码、获取验证码内容、验证和输出等功能。通过yml配置可自定义验证码类型、尺寸、干扰元素等参数。代码实现包括引入相关依赖、配置验证码属性类、定义枚举类型和返回值对象,并通过自动装配配置验证码生成器。系统支持算术和随机字符两种验证码类型,可根据需求灵活配置验证码样式和功能。
2025-08-22 17:23:02
344
原创 SpringBoot3 集成 Spring Security6 代码实现(二)
本文介绍了SpringBoot3集成Spring Security的代码实现,主要包括:1)引入spring-boot-starter-security和web依赖;2)配置JWT相关参数和安全白名单;3)定义枚举类处理错误码、状态码和异常;4)实现JWT工具类用于生成和验证Token;5)创建JwtValidationFilter过滤器验证请求Token。核心功能通过JWT实现认证授权,包含Token生成、校验及异常处理机制,支持自定义权限控制和白名单配置,为系统提供安全防护。
2025-08-21 16:11:28
1010
原创 SpringBoot3 集成 Spring Security6 详细介绍(一)
Spring Boot 3 集成 Spring Security 6 详细介绍 Spring Security是一个提供身份验证、授权和防御常见攻击的安全框架。
2025-08-21 14:50:31
782
原创 问题解决:Mapped Statements collection does not contain value for XXX.core.mapper.SqlRunner.SelectList
项目启动 调用后端接口正常 但是在SqlRunner.db().selectList(dbsql)的时候就会一直报错,查了好多资料一直说的是 mapper没有扫描到 或者说是 yml的配置不对,但是按照网上解决办法处理之后还是报错,最后的最后 找到gitee上mybatis-plus的工单 才知道原来是yml中缺少配置了。
2025-08-15 16:10:58
220
原创 java实现sql解析器 JSQLParser
摘要:JSQLParser是一款基于JavaCC的多数据库SQL解析器,可将SQL语句转换为可遍历的Java类结构,支持Oracle、MySQL等多种数据库(需Java11+)。它适用于内网环境下的SQL查询场景,但不支持PL/SQL块、Oracle INSERT ALL等特定语法。
2025-08-13 16:41:21
512
原创 SpringBoot 接入SSE实现消息实时推送的优点,原理以及实现
本文介绍了SpringBoot接入SSE实现消息实时推送的方案。SSE(Server-Sent Events)是基于HTTP的单向通信技术,相比WebSocket更轻量级,适用于仅需服务器向客户端推送数据的场景。文章详细分析了SSE的10大优点,并对比了SSE与WebSocket的适用场景差异。最后提供了SSE工具类的核心实现代码,包含连接管理、消息推送和心跳保持功能,通过Map存储用户连接,使用线程池定时发送心跳包维持连接。该方案性能高效,适合需要服务器主动推送数据的应用场景。
2025-08-06 16:20:13
1019
1
原创 SpringBoot整合t-io是websocket实时通信
SpringBoot整合t-io实现WebSocket实时通信 本文介绍了使用SpringBoot整合t-io框架快速搭建WebSocket服务器的方法。WebSocket作为一种全双工通信协议,能够实现服务器主动推送数据,解决了传统HTTP协议在实时通信中的不足。文章首先阐述了WebSocket的工作原理和优势,包括其低延迟、低开销的特点。随后详细讲解了实现步骤:引入t-io依赖包、自定义WebSocket注解、处理连接握手过程,并通过代码示例展示了如何实现消息处理器、处理客户端连接和消息广播等关键功能。
2025-08-04 17:52:39
650
1
原创 问题解决:com.alibaba.nacos.client.config.impl.ClientWorker get changedGroupKeys:[]
在java项目启动的时候,控制台每隔几秒就会打印一次 com.alibaba.nacos.client.config.impl.ClientWorker get changedGroupKeys:[] 这个日志,不仅影响控制台日志查看,久而久之还很占用内存。
2025-02-21 14:50:28
577
原创 问题解决:项目启动nacos报错 get changed dataId error, code:403
nacos启动没有问题,项目也可以正常访问,但是就是在启动auth服务的时候报错在网上查阅了好多资料,都说是在yaml的文件配置有问题,需要加上 username 和password加了之后没有任何作用,控制台日志还是在不停的刷,nacos 403错误。
2025-02-21 14:20:10
726
原创 java代码利用注解的方式实现实体类对象加解密(一)
/ 生成密钥// 加密// 解密System.out.println("==============密钥:"+s);}*/@Data/*** 身份证*//*** 手机号码*/
2025-01-03 16:57:43
382
原创 EasyExcel动态实现表头以及数据封装
List<List> titleList 为封装的动态表头参数, List<List> dataList 为动态封装的数据参数,registerWriteHandler(new SimpleColumnWidthStyleStrategy(25)) 为设置表格参数,head(titleList) 为存放表头参数。
2024-08-21 10:16:45
733
原创 IDEA编译报错 Command line was: E:\javaFile\jdk1.8\jre\..\bin\javadoc.exe -Xdoclint:none @options @packag
IDEA 编译报错
2024-08-15 10:06:12
543
1
原创 SpringCloudAlibaba 网关gateway整合sentinel日志默认路径修改
今天运维突然告诉我 在服务器上内存满了 原因是nacos日志高达3G,然后将日志文件发给我看了一下之后才发现是gateway整合sentinel使用了默认日志地址导致日志生成地址直接存在与根路径下而且一下存在多个日志。提出问题当然要解决问题,当然以下就是我解决问题的方法。
2024-03-11 17:05:51
1421
原创 SpringBoot问题-----------可以同时处理多少个请求
springBoot可以同时处理多少个请求其实就是在说 tomcat可以同时处理多少个请求。:最多的工作线程数,默认大小是200。该参数相当于临时工,如果并发请求的数量在10到200之间,就会使用这些临时工线程进行处理。:最少的工作线程数,默认大小是10。该参数相当于长期工,如果并发请求的数量达不到10,就会依次使用这几个线程去处理请求。:最大连接数,默认大小是8192。表示Tomcat可以处理的最大请求数量,超过8192的请求就会被放入到等待队列。:等待队列的长度,默认大小是100。
2023-06-21 17:29:32
2230
原创 mysql给定两个时间段 获取两个时间段的所有日期
mysql给定两个时间段 获取两个时间段的所有日期sql 第一种写法mysql 第二种写法sql 第一种写法SELECT * FROM(SELECT ADDDATE('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) selected_date FROM (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT
2022-02-23 11:41:53
2280
原创 easyExcel多sheet页Excel文件导出
easyExcel多sheet页Excel文件导出引入jar包<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.6</version> </dependency&g
2022-02-17 14:15:56
578
原创 java给定两个时间求取这个时间断内的对应的星期
java给定两个时间求取这个时间断内的对应的星期java工具类java工具类@Datapublic class Week { //周数 private int weekNumber; //日期 private String date; //星期 private String dayNumber;} //根据日期获取星期 private String dateToWeek(String datetime) { S
2021-09-29 18:15:31
491
原创 力扣刷题11--盛最多水的容器
题目解答 @Test public void shouldAnswerWithTrue() { int[] height = new int[]{1,8,6,2,5,4,8,3,7}; int i = maxArea(height); System.out.println(i); } public static int maxArea(int[] height) { int max = 0;
2021-09-11 10:00:29
170
原创 力扣刷题10--正则表达式匹配
题目解答 public static void main( String[] args ){ String s = "aa"; String p = "a."; boolean match = isMatch(s, p); System.out.println(match); } public static boolean isMatch(String s, String p) { if(Object
2021-09-09 15:35:05
184
原创 mysql实现根据身份证号码计算出身日期和年龄
提出在我们国家身份证号码从第七位开始到第十四为表示的是你的出生日期;所以给定一个身份证号码我们就可以根据身份证号码计算出相应的出生日期和年龄解决计算出生日期SELECT DATE_FORMAT(substring(id_card, 7, 8),"%Y-%m-%d") birthday;计算年龄SELECT (substring(now(),1,4)-substring(id_number,7,4))-(substring(id_number,11,4)-date_format(now(),'%
2021-09-09 14:54:57
2654
原创 力扣刷题09--回文数
题目解答解法一: public static void main( String[] args ){ int s = -101; Boolean i = isPalindrome(s); System.out.println(i); } public static boolean isPalindrome(int x) { if(x == 0){ return false;
2021-09-08 15:51:34
115
原创 力扣刷题08--字符串转换整数(atoi)
题目请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,“123
2021-09-08 15:08:08
134
原创 力扣刷题07--整数反转
题目解答 public static void main( String[] args ){ int x = 0; int reverse = reverse(x); System.out.println(reverse); } public static int reverse(int x) { int res = 0; if(x == 0){ return 0;
2021-09-08 12:06:51
108
vue基础篇.pdf
2020-05-09
vue进阶篇.pdf
2020-05-09
Vue模块篇.pdf
2020-05-09
MBTI心理测试四个方向八个维度16种人格测试趋近值总结
2023-08-21
xuxueli0323-xxl-job-master.zip
2021-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人