自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 EasyExcel相关整理

一、实体类注解#- 1.

2024-09-11 13:26:42 341

原创 后端接收不到参数

我遇到的一种情况是,由于实体类运用的lombok注解,因此导致如果参数的前两个字符有大写的字符就会导致getter和setter方法找不到对应的属性值。但其实不是lombok的问题,因为用idea生成的方法也是获取不到。2.给字段添加注解@JsonProperty(value = "XXX")

2024-09-02 16:58:24 132

原创 @Value(“test”)配置文件注入值,服务启动报错

我的原因是由于参数所在类需要用到其他类的方法,所以引入依赖。用的是@AllArgsConstructor注解去生成构造器去匹配Bean的依赖,而这个构造器并不包含直接注入的String类型的参数。因此更换为注解@RequiredArgsConstructor,只包含final和@NonNull字段的构造器。

2024-09-02 15:21:38 133

原创 EasyExcel导出数据量大导致内存溢出

一次性读入过多数据,如果内存不够大就会导致内存溢出,所以将数据分批处理,最后在EasyExcel导出的时候再汇总导出。至于接口耗时问题,就需要根据实际调整批次的最大数量。

2024-09-02 08:20:31 458 3

原创 EasyExcel导出多个sheet

【代码】EasyExcel导出多个sheet。

2024-09-02 08:16:14 111

原创 EasyExcel导出样式

【代码】EasyExcel导出样式。

2024-08-27 14:14:41 213

原创 键值对常量

使用场景:公司内部的会议室系统对接外购的会议室系统(部分会议室),因此需要判断会议申请流程是否属于外购系统的会议室,并且获取外购系统中的会议室id,调用外购系统接口创建会议。1、因为比较简单,直接贴代码了。

2024-08-12 10:28:12 126

原创 利用反射根据@ApiModelProperty(“XX”)的value值获取字段名

其中工时类别存的就是@ApiModelProperty的value值。这个时候就用到BeanUtil.setProperty(对象,字段名,值);最近有一个需求涉及到之前的一个功能,之前的需求是导入工艺工时相关的信息,由于工时和花费有十八种,所以之前的开发设计表的时候就建立了一张工时表,字段为工时类别、工时、花费、源id。其实我在想过为什么不直接存字段名,这样取的时候还方便。由于数据库存的注解的value,我就需要转换为字段名。1、考虑字段名变化不需要修改数据库中的数据。

2024-08-07 17:00:21 245

原创 自定义注解

【代码】自定义注解。

2024-07-29 15:10:29 245

原创 钉钉打卡(事件订阅)

钉钉的员工打卡

2024-07-28 16:58:33 343

原创 final关键字

Map类型用final修饰,有点不一样的是,该Map变量的引用不会改变,指向的始终是同一个Map对象。但是,这并不阻止Map内部的键值对被修改,除非你采取额外的措施。并且,对于字面量,Java编译器和JVM会进行优化,通过字符串常量池来复用相同的字符串字面量,避免不必要的对象创建。对于final的使用,我们通常是希望能够保证变量的值不被改变,这时候我们就需要了解变量引用。是的,但这里说的String的不可变指的创建对象本身,比如。这会阻止对Map的任何修改,包括添加、删除或修改键值对。

2024-07-28 11:34:34 302

原创 如何编辑以及复制Json字符串到IDEA

会出现一个编辑窗口,JSON字符串就在该编辑窗口下进行编写,而且不需要考虑引号转义的问题,直接就按照JSON格式写就行了,也可以复制已有的JSON字符串粘贴进去。2、该字符串就已经被IDEA标记为JSON字符串,还是一样将光标停留在两个双引号中间,按住Alt键+Enter键,选择。1、定义一个字符串变量,并且将光标停留在双引号中间​​​​​​​,然后同时按住Alt键盘+Enter键。之后会有许多数据格式供你选择,选择。

2024-07-26 09:39:51 240

原创 Docker部署SpringBoot项目(附:踩坑记录)

cp /usr/share/zoneinfo/Asia/Shanghai 容器ID:/usr/share/zoneinfo/Asia。执行命令 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime。1)首先我们先安装一个docker的插件(网上其实有其他的运用插件直接连接服务器部署的教程,比较复杂,我这边就不做研究)首先我们需要确保我们的jar一般部署是没有问题的,不知道怎么部署的可以看之前的博客。但是我遇到了一个问题,就是容器的时区和宿主机的时区不一致。

2024-07-17 22:45:25 554

原创 华为云服务器安装docker

官方文档:

2024-07-17 22:20:44 239

原创 Windows11系统安装DeepIn系统:默认启动系统设置

由于初次尝试学习使用Linux系统作为未来的主系统,所以在安装DeepIn的时候,选择保留Windows系统。但是安装后发现一个问题,每次默认启动的都是DeepIn系统,由于暂时主系统还是win,所以觉得很麻烦。后面发现在启动的DeepIn系统的时候,会有一些选项,其中就有Windows系统,然后就去了解怎么修改默认项,在踩了小坑后也是顺利解决。其中还有一个可以根据情况修改的参数,就是GRUB_TIMEOUT,标识系统启动时的系统选择列表页的默认时间。3、输入密码,然后就打开了一个配置文件。

2024-07-16 23:48:03 453 1

原创 java根据文件地址下载带本地

【代码】java根据文件地址下载带本地。

2024-07-05 15:29:44 170

原创 SpringBoot中如何配置多线程

使用@EnableAsync注解开启多线程。2、编写线程执行方法。使用@Async注解。

2024-07-04 10:12:21 247

原创 调用参数是文件的API(踩坑记录)

刚开始我的想法是在服务里写一个接口,直接供其他接口调用,但是牵扯到文件流的传输不太合适,就编写为一个前端调用的上传文件接口。这是他的接口文档,最开始他的类型误导了我,我以为他需要的二进制文件流,然后就各种尝试失败,然后给泛微提了个工单。由于之前文件传输到OA采用的方式都是前端a标签在表单展示,但是发现在移动端无法展示,于是近期在调试泛微OA-E9版本的文件上传接口。技术领域不同:RFC6532关注的是电子邮件地址的国际化,而BROWSER_COMPATIBLE关注的是Web上传请求的兼容性。

2024-07-03 19:20:44 747 3

原创 Linux服务器部署SpringBoot项目

5、之后运行脚本./start.sh,启动服务后可以tail -100f first-1.0.0.log查看日志服务是否启动成功。4、然后给这两个脚本开放权限chmod u+x start.sh和chmod u+x stop.sh。7、可以接口调用工具调用下你的接口(地址用你的服务器加端口),看下是否正常调用。6、启动成功后,在你的云服务器的安全组设置中配置你的服务端口的入规则。2、把打包好的jar包上传到你的云服务器。3、编写两个脚本用于运行jar包和停止。

2024-07-02 23:00:49 212

转载 Linux服务器安装MySql

2、按照此教程安装完成后,可能会尝试navicat连接你刚配置好的数据库。如果报错连接失败,可以看下是不是你的云服务器的安全组规则的入规则没有添加3306的端口,添加一下就好了。1、如果在看到本教程之前,已经尝试其他教程并且未安装成功,则先将之前的删除干净,可参考教程。

2024-07-02 09:39:37 24

原创 linux服务器配置tomcat以及运行静态html

11、在自己的服务器管理中放行8080端口(平台不同方法不同,百度一下就可以)。我用的华为云,大概说一下,粘贴教程中的几张图过来。1)找到jdk1.8.0_202/jre/lib/security目录下的java.security文件,双击用记事本打开。2、然后下载linux版本的jdk和tomcat压缩包并上传到我们的服务器中。4、配置JDK环境变量,命令 :vim /etc/profile,进入以后,按。12、最后一步,我们在浏览器输出我们的地址加端口号进行访问。3、分别解压刚才的安装包。

2024-06-27 21:53:06 441

原创 Spring Boot集成RabbitMq

7、启动消费者服务。可以生产者和消费者的测试用例都写在一个服务,这样启动一个服务就好,然后可以调用生产者的测试用例,可以看到持续处理消息。mq作为一个消息中间件,我们在使用的过程中,其中包括生产者和消费者,生产者负责发送消息到中间件队列,消费者负责处理队列中的消息。我们可以看到队列中有一条未消费的信息,点进队列我们可以查看到,信息是没有问题的。3、然后在mq中新建一个消息队列,如下图,其中name就是上一步测试用例中的你设置的消息队列的名称。2、在作为生产者和消费者的服务的配置文件中配置mq的相关信息。

2024-06-23 15:40:56 202

原创 Spring Boot 集成mybatis 踩坑记录

工作中都是在已经搭建好的框架中进行开发,最近想要了解一下,作为小白记录一下在搭建的时候遇到的一些问题。这个版本相对较新,可能与 Spring Boot 2.0.0.RELEASE 不兼容。这个版本相对较新,可能与 Spring Boot 2.0.0.RELEASE 不兼容。这个版本相对较新,可能与 Spring Boot 2.0.0.RELEASE 不兼容。这个版本相对较新,可能与 Spring Boot 2.0.0.RELEASE 不兼容。这个版本相对较旧,可能与一些较新的依赖不兼容。

2024-06-20 23:25:27 413

原创 FTP上传文件

1、首先请硬件工程师同事帮忙在需要上传文件的服务器安装FTP并开通端口。如果没有专门的岗位划分的话,也可以自己百度教程安装。5、关于文件上传,由于需求需要,所以我做了一些处理,编写为一个工具类,具体怎么用看自己需要。3、建议把FTP服务器的连接信息放到配置文件,或者定义一个常量接口(我采用的是后者)。2、编写一个用于连接并登录FTP服务器的工具类。4、接下来就是一些FTP的基础方法。

2024-06-19 19:39:21 203

原创 XXl-JOB组件

刚工作时,最先接触到的定时任务工具就是xxl-job,后面就被别的工具替代了,在此记录下,整合spring-boot项目。接下来的内容不涉及到搭建xxl-job,想要了解的可以看上面转载的大佬的文章。由于公司接口管控要求,外购了接口平台,其中有编排功能可以设置定时调用,还可以调用失败发送邮件以及推送给钉钉机器人等,还是比较方便的。5、在xxl-job上配置执行器,也就是你的定时任务所部署的服务,如果你的服务做了高可用,可以配置多个地址,用逗号隔开。7、接下来就可以启动定时任务、手动执行、查看日志等操作。

2024-06-18 20:25:03 246

原创 对象集合使用Stream按条件过滤并转换为新的对象集合遇到的问题

总结一下,还是要多了解一些框架下的好用的注解,如果一开始我用的就是这个注解定制构造方法,就不会有后面的坑了。发现转换后,我塞入的转换后的集合,值是空的。原因就是没有对应的getter方法,在转换的时候获取不到值。),后面我把转换的集合塞入到一个对象的一个字段中去,并且把这个对象转换为json,坑来了。在调试的时候,发现没有达到想要的目的,集合为空,值塞不进去。这样就解决问题了,但是我觉得lombok应该有对应的定制构造方法的注解,然后查了下,其中刚开始新的对象的实体类是这样的写的。集合过滤转换是这么写的。

2024-06-18 19:28:02 233

原创 IDEA的好用小插件

AI小助手,一些编程问题和用法都可以问他,一些小问题直接在idea问还是挺方便的,还有一些代码的自动补全。是一款增强 IDEA 对 MyBatis 支持的插件。就是自动切换输入法,有些时候还是挺有用的。快速从代码跳转到mapper及从mapper返回代码。集成mybatis generator gui界面。根据数据库注解,生成swagger model注解。mybatis自动补全及语法错误提示。

2024-06-17 19:36:42 143

原创 非maven项目打包成exe文件,并且不用运行电脑安装jre环境

之前是在网上找的教程,是mvc结构的,关于页面也是采用swing写的,最终是完成了,但是当时技术有限,只能在自己电脑连接本地数据库使用。这两天把源码拉出来,在网上申请个限时一个月的华为云的云数据库,并且买了一个动态的外网ip(按流量收费),也是瞎子摸索。5、上面几步搞定,其实就可以运行了,创建一个文件夹把jre文件夹和exe文件放在同一目录下。6)然后再编译,等待完成就可以,就可以把安装程序发给其他人正常使用了。4)其他的不用改,下一步,到这一步,设置文件输出位置和安装包名称。6)根据自己的版本配置。

2024-06-16 23:16:02 276

原创 EasyExcel导出,特殊类型转换

ExcelProperty(value = "生产类型" , converter = ProductionTypeEnumConverter.class)@ExcelProperty(value = "实际开始时间", converter = LocalDateTimeConverterUtil.class)@ExcelProperty(value = "实际开始时间", converter = LocalDateTimeConverterUtil.class)

2024-06-15 16:32:47 1109

原创 Jenkins配置

/ ===================== ↓↓↓↓↓↓ 执行命令 ↓↓↓↓↓↓ =====================// ===================== ↓↓↓↓↓↓ 传输文件 ↓↓↓↓↓↓ =====================echo '****************************** 推送镜像 ******************************'echo "app镜像: ${app_docker_image}"// 远程服务器目录。

2024-06-15 16:11:27 877

转载 nginx笔记

例如将www.abc.com和www.bca.com两个网站部署在同一台服务器上,两个域名解析到同一个IP地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。当网站并发量大时,一台服务器已经无法承受,此时需要部署多个服务器来分担压力,这时候可以通过Nginx配置来将请求,通过一定分发规则,分发到不同的服务器来达到负载的作用。然而并不是所有网站都如此出色,有的网站,由于访问量太小,需要节省成本,将多个网站部署在同一台服务器上。区分大小写的正则匹配。

2024-06-15 08:06:11 14

原创 关于Long类型的字段精度丢失问题

这个是因为后端返回 Long 整型(20位)数据给前端,JS会自动转换为Number类型(17位)。当数值超过JS中Number类型的最大值(2的53次方)时,就会丢失精度。因此要解决这个问题,一种办法是修改字段类型为String,但是当字段为数据库表的实例类时,这样显然不妥。在后端返回给前端的字段中有Long类型的时候,并且前端会用我们返回的这个字段作为另外一个接口的传参的时候。我们可能会遇到一个问题,会发现前端传给我们的那个参数跟我们数据库查出来的不一致,这个其实就是精度丢失问题。

2024-06-14 23:07:28 204

原创 AssertUtil.isTrue 遇到的空指针异常问题

AssertUtil.isTrue(ObjectUtil.isNotEmpty(ufBosspalOld),"该手机号已存在,请先核对已存在数据,姓名:"+ufBosspalOld.getXm());在调用这个方法的时候,是把后面的参数拼好传进去的,所以无论前面是否符合条件,后面是都会执行的,所以就发生了这样的错误。在一次功能开发中,由于赶进度,协调同事帮忙开发一些简单接口,由于接口比较简单赶时间,也就没有测试,然后就遇到一个线上小bug,报错服务器异常。后面有时间,就有研究了一下。测试没问题就先上线了。

2024-06-13 22:32:28 217

原创 springboot整合mybatisplus:枚举值转换

比如后端传0、1、2数字给前端,前端需要转换后显示,在调用修改状态接口的时候,也需要传对应的数字给后端。这样在状态的种类发生变化时,就需要前后端相应的去修改,在联调的时候也会出现错误。其中springboot整合mybatisplus通用枚举,注解@EnumValue和@JsonValue就是用于前后端自动转换,查询结果code返回给前端时,自动转换为desc,前端传desc给后端时,自动转换为code。WIP_WORK_ORDER("WIP_WORK_ORDER", "生产工单"),

2024-06-13 22:13:21 511

Jenkins配置文件

Jenkins配置文件

2024-06-15

空空如也

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

TA关注的人

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