自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 maven默认src下的xml,properties文件不打包到classes文件夹下

将xml,properties等资源文件放置到这个目录中。

2024-05-22 11:45:18 123

原创 @Accessors用法详解

Accessors(fluent = true) //不用带set和get前缀 user.name("aaa").age(18)@Accessors(chain = true) //开启链式编程 user.setName("aaa").setAge(18)user.setId("123").setAge(17).setName("小明");user.id("124").age(19).name("小丽");

2024-05-20 14:40:17 241

原创 基于javafx项目的log4j 2日志详细配置教程

该文件需要放在resource目录下。

2024-05-17 14:13:46 281

原创 JDK8使用JavaPackager打包项目生成.exe可执行文件

自定义版本号软件名称

2024-05-15 15:26:18 698 1

原创 javafx设置启动按钮运行项目

2.执行图中4步操作,点击ok。

2024-05-15 15:23:44 195

原创 Redis分布式锁实现

避免A用户因为锁生效时间超时以后自动删除了A当前用户拿到的锁,进而在操作完成时,主动去删除锁时此时有个B用户正好生成了一把锁,那么A用户删除的是B用户的锁,造成数据不一致。当前程序的锁就是A用户的锁,同时redis存放的也是A用户的锁,就不会造成锁的误删,从而保证了原子性。使用lua脚本的目的,是为了读取到当前程序中的锁,和redis中的锁进行对比。

2024-03-25 18:26:18 502

原创 BUG记录: 拦截器 handler instanceof HandlerMethod 一直为false ( 原因导错了jar包 )

下图可以看到明明显示的是HandlerMethod ,但if判断却返回false;可以看到 但我引入正确的包以后,if判断已然变成了true。

2024-03-25 17:14:08 242 2

原创 实现接口InitializingBean,初始化参数完成后,执行afterPropertiesSet()方法

1.创建SeckillController实现InitializingBean接口。

2024-03-25 15:13:10 147

原创 自定义参数解析器实现接口HandlerMethodArgumentResolver的用法

***/@Component@Autowired//如果这个方法返回 true 才会执行下面的 resolveArgument 方法// 返回 false 不执行下面的方法@Override//获取参数是不是 user 类型Class<?//如果为 t, 就执行 resolveArgument/*** 这个方法,类似拦截器,将传入的参数,取出 cookie 值,然后获取对应的User 对象* 并把这个 User 对象作为参数继续传递.

2024-03-25 12:04:57 255

原创 自定义拦截器处理作用在Controller方法上的自定义注解

*** 自定义注解 AccessLimit*/

2024-03-25 10:59:59 192

原创 前端根据域名发送请求通过nginx匹配转发至java网关gateway

一旦请求匹配到合适的路由规则(如果有的话),Gateway会根据路由规则中的配置对请求进行处理,这可能包括身份验证、限流、请求和响应处理等。:Spring Cloud Gateway 支持默认路由,即当没有匹配的路由规则时,请求会被转发到一个默认的 URI。:最终,匹配的后端微服务会接收到来自Gateway的转发请求,并执行相应的业务逻辑,然后返回响应。

2024-03-04 11:37:49 1197

原创 java实际项目反射、自定义注解的运用实现itext生成PDF的详细应用教程

这里需要使用软件工具Adobe Acrobat DC,需要工具的小伙伴可以评论区留言发送:资料。java使用itex生成PDF-CSDN博客。

2024-03-01 13:56:32 1227

原创 java使用itex生成PDF

Text是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。项目要使用iText,必须引入jar包。

2024-02-27 15:11:16 1214

原创 力扣128. 最长连续序列

因最小开始的那个数x,它的前一位数x-1是不存在的。循环哈希表中的值,用循环的值x-1,看哈希表中是否存在该值,如果存在说明当前x不是最小的直接跳过。原因是我们没办法直接从最小的那个数x去不断加1匹配,就算第一次就直接取出最小的数x去匹配最长序列,也无法保证后面的数不会是最长,所以无论怎样都得循环两次全部都是数组。所以外层循环我们已经从第一个取出了x,x+1,x+2...x+y个数了,内循环又重新像这样取了一次。该值可能为作为开始最小的值,那么我们只要找到每个x-1不存在的值比较其最长序列谁最大即可。

2024-02-23 16:24:20 489

原创 力扣49.字母异位词分组

那么我们可以创建一个map集合,map集合的key存放每个单词排序后的字符串,map集合的value存放一个List集合(该集合中存放所有字母都相同的单词)。4.查看map集合中是否有排序后字符串的key对应的值,没有则对该key创建一个value值(ArrayList<String>)题目意思简而言之就是,所有输入的单词,不关注单词中字母的排列顺序,只要字母都相同的就分为一组。5.将当前的字符串存放到当前key对应的map集合中。是由重新排列源单词的所有字母得到的一个新单词。给你一个字符串数组,请你将。

2024-02-21 17:50:48 459

原创 java根据前端所要格式返回树形3级层级数据

一、业务分析,根据前端需求返回如下数据格式。1.编写Controller。二、后端设计数据类型VO。2.编写Service。

2024-02-18 23:09:46 669

原创 根据当前分类id,返回所有父分类id数组

1.Controller层。2.Service层。

2024-02-18 21:55:12 335

原创 error in ./src/views/demo/ueditor.vue Module build failed: Error: ENOENT: no such file or directo

时候报错:Module build failed: Error: ENOENT: no such file or directory。出现这个问题的原因,根据报错信息翻译过来就是 在node_modules\。目录下找不到vendor文件或者目录。进入项目文件夹 cmd 运行。

2024-02-13 12:42:40 396

原创 npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.

再次执行npm install ***,还不行可以尝试设置你的。npm的证书失效了,它不再支持自签名证书。源为http开头的,不使用https。执行命令清除npm缓存。执行命令取消ssl验证。发现我们之前配置了下载。为https开头的,

2024-02-13 12:40:21 8584 5

原创 力扣分式化简

原连分数等价于3 + (1 / (2 + (1 / (0 + 1 / 2))))。又因为系数*分母+1这一步加了一个1,再除分母的时候就保证了系数*分母+1和分母互为质数。题目中说n,m最大公约数是1,意思是说答案的分子和分母不能够再进行约分。而每一项count[i]系数加上后面的分数,而后面的分数分子都是1。连分数是形如上图的分式。在本题中,所有系数都是大于等于0的整数。就是说系数+分数通分以后=系数*分母+1/分母。返回一个长度为2的数组。如果答案是整数,令分母为1即可。,使得连分数的值等于。

2024-02-05 18:03:04 408 1

原创 力扣宝石补给

欢迎各位勇者来到力扣新手村,在开始试炼之前,请各位勇者先进行「宝石补给」。现在这些勇者们进行了一系列的赠送,位勇者将自己一半的宝石(需向下取整)赠送给第。宝石的勇者,并返回他们二者的宝石数量。解释: 第 1 次操作,勇者。解释: 第 1 次操作,勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。将一半的宝石赠送给勇者。第 2 次操作,勇者。第 3 次操作,勇者。第 2 次操作,勇者。

2024-02-04 13:54:55 433

原创 力扣反转两次的数字

/ 如果该整数为 0 或该整数结尾不含 0。对于 0,进行两次反转操作后仍然为 0。反转 num 得到 625 ,接着反转 625 得到 526 ,等于 num。反转 num 得到 81 ,接着反转 81 得到 18 ,不等于 num。反转 num 得到 0 ,接着反转 0 得到 0 ,等于 num。// 而后者等价于该数模 10 的余数不为 0。一个整数意味着倒置它的所有位。

2024-02-02 17:31:15 533

原创 力扣将钱分给最多的儿童

说明:这两步保证了剩余的美元不会超过7 美元,只能在0-6美元。// 计算最多的儿童获取8美元之后,剩余的美元数量。// 变量cnt记录可以最多获取8美元的儿童数量。,表示你总共有的钱数(单位为美元)和另一个整数。如果没有任何分配方案,返回。,表示你要将钱分配给多少个儿童。请你按照上述规则分配金钱,并返回。时间复杂度:O(1)。空间复杂度:O(1)。

2024-02-02 10:50:32 361

原创 datax的配置详解

以上需要替换的是jdbcUrl下面的 jdbcUrl里面的127.0.0.1换成你自己数据库的ip,后面的端口和表名也要替换成自己的。reader和writer下面的username、password分别填写自己对应数据库的用户名和密码。因为我是每3分钟调用一次,所以我只更新当前时间前3分钟对应的时间到当前时间的数据。

2024-02-01 11:40:05 829

原创 力扣唯一元素的和

唯一元素为 [1,2,3,4,5] ,和为 15。唯一元素为 [1,3] ,和为 4。数组中唯一元素是那些只出现。没有唯一元素,和为 0。

2024-01-29 15:43:17 482

原创 自定义注解使用案例,

ApiModelProperty(value = "大屏显示风力等级", notes = "")@ApiModelProperty(value = "最高温度", notes = "")@ApiModelProperty(value = "最低温度", notes = "")@ApiModelProperty(value = "日期", notes = "")@ApiModelProperty(value = "天气", notes = "")// 获取实际key。// 获取实际key。

2024-01-24 17:56:43 375

原创 存储过程为什么使用DELIMITER $$,存储过程的详细运用解释

这是正确的存储过程写法,可以成功执行,相比较上图的报错,增加了DELIMITER,简单解释下这个命令的用途,在MySQL中每行命令都是用“;”结尾,回车后自动执行,在存储过程中“;”往往不代表指令结束,马上运行,而DELIMITER原本就是“;”的意思,因此用这个命令转换一下“;”为“$$”,这样只有收到“$$”才认为指令结束可以执行。

2024-01-24 15:21:21 887

原创 关于mysql OR使用的细节,加上()避免OR扩大sql查询范围

而如果讲括号去掉 AND ro.create_by = '13986915552' OR ro.ordering_user = '13986915552' 这样作为两个条件过滤。但是由于 OR ro.ordering_user = '13986915552'这个条件的加入又会把,满足该条件的过期的数据又给查出来最终导致了我们业务逻辑上的错误!解决办法: 标红的条件加上(),此时截止入场时间超过当前时间的预约订单就没有在预约订单出现了,而只出现在历史订单中(也就是过期订单)不加上括号(造成业务错误的原因)

2024-01-12 16:45:17 1002

原创 关于Quartz远程调用服务方法失败如何解决,@Inner详细介绍

首先,在我们项目加载阶段,我们获取有Inner注解的类和方法,然后获取我们配置的uri,经过正则替换后面的可变参数为*,然后将此uri加入到ignore-url中。也是需要我们将uri加入到security.oauth2.client.ignore-urls配置中,那与第二种的区别就是这种情况下大多数都是服务可以请求另一个服务的所有数据,不受约束,那我们如果仅仅只配置ignore-url的话,外部所有人都可以通过url请求到我们内部的链接,安全达不到保障。3. Feign-Client中调用接口,带上。

2024-01-12 15:05:47 1046

原创 关于@RequestBody使用用法的记录

RequestBody 用这个接收参数时,会将carManagementRecordDTO的类会以JSON字符串接收,并赋值给carManagementRecordDTO各个属性。但是这种复杂的数据传输前端要放在请求头的body中,所以要用Post的请求方式,用注解。@PostMapping("/queryRecord")来实现即可。

2024-01-09 09:03:44 491

原创 quartz定时任务用法

2023-12-29 16:54:24 479

原创 一键登录简要流程记录

首先用户手机号验证码获取code,前端传入一键登录接口。再根据这个方法传入前端传来的code去调用微信第三方接口获取openid。获取openid时会对生成验证码及code的手机号和code生成时间做验证。验证通过了才会返回oppenid。

2023-12-29 16:50:38 480

原创 根据属性组,查询基本属性信息

数据库设计,为了记录属性组和基本属性关联关系,建立一张中间表:commodity_attr_attrgroup_relation。前端传过来一个属性组id时,就可以根据这张表查看哪些 基本属性没有被关联和哪些基本属性被关联了。业务说明:属性组下可以有多个基本属性,但基本属性只能被属性组关联一次。3.查询属性分组可以关联的基本属性, 支持分页和条件检索。4.添加基本属性和属性分组关联关系(支持批量添加)该表用于属性组和哪些基本属性关联了。2.批量删除已经关联的基本属性。

2023-12-21 10:37:16 680

原创 @JsonInclude(JsonInclude.Include.NON_EMPTY)注解用法详解,@JsonInclude、@JsonIgnore两者的区别和递归查找数据的详解

递归数据也就是List<CategoryEntity>,该字段的list集合中存放了0或多个对象,所以在层级数据的最后一层后面没有层级数据的时候就要使用@JsonInclude注解不给前端返回。在实体类的这个字段childrenCategories上加上注解@JsonInclude(JsonInclude.Include.NON_EMPTY) 问题就解决了。在这里三级部门后面是没有部门的。后者是该字段可能为一个递归的数据,也就是说,本身字段是有数据的,但字段里面的数据所包含的数据可能为空。

2023-12-06 23:31:16 1022

原创 JAVA的TCP/IP、计算机网络知识 运用

2023.11.15。

2023-11-16 17:37:50 135

原创 Mybatis Plus 查询Wrapper条件缺少last(“limit 1)拼接,导致查出多条语句报错

这里我混淆了selct的用法,以为自己按照时间降序的条件(wrapper.orderByDesc(CardOrderEntity::getEndTime);下面的代码现在是正确的,最开始在下面代码中我wrapper.last("limit 1");这个条件是缺失的,造成了最后查出来多条语句。总结:用了SelectOne查询是必须保证查出来的语句是单条记录,可以加上这个条件wrapper.last("limit 1");我用的是selctOne只能查出来一条可是根据Wrapper条件查出来多条就会报错。

2023-11-13 20:33:07 921

原创 idea启动vue项目npm run dev启动失败

使用命令 npm run dev 启动项目报了下面的错误,最主要的还是没有找到package.json这个文件。

2023-11-13 20:10:23 1164

原创 解决mybatis-plus查询字段中含有关键词时异常问题

TableField("`order`")用反引号包起来。这个反引号里面的order是一个关键字,包起来就可以解决了。

2023-09-25 16:20:21 2679

原创 关于自定义npm快捷键,点击run启动报错不是内部或外部命令解决办法

由于是刚刚从gitlab新拉的前端代码,可能没有用命令install过,所以执行一下上面的命令问题就解决了。1.配置idea的npm。

2023-09-25 14:56:33 288

原创 @Schema和@ApiModel注解

是。

2023-09-04 16:44:12 1850 1

空空如也

空空如也

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

TA关注的人

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