- 博客(31)
- 收藏
- 关注
原创 Java实现 itext PDF文件打印水印(文字和图片水印)
itext PDF文件要加上水印,文字水印实现的效果:水印加上透明度,不影响原先的内容,文字45度倾斜,文体是自定义字体,然后就是平铺真个整个页面。图片水印实现的效果:水印加上透明度,不影响原先的内容,图片45度倾斜,图片进行缩放处理,然后就是平铺真个整个页面。
2024-10-24 15:47:28
1047
原创 springboot整合springbatch和xxljob实现定时数据同步(完整代码)
springboot整合springbatch和xxljob实现定时数据同步,异步分区实现批量处理,定时任务调度批量处理作业实现数据同步
2024-09-20 16:59:17
1585
原创 JAVA itextpdf 段落自动分页指定固定行距打印
公司有个需求,打印的合同模板左上角要加上logo的图标。但是itext pdf 自动分页会按照默认的顶部高分页打印内容的,导致从第二页开始logo图标就会把合同的内容给覆盖掉了。然后尝试了挺多方法,因为itext 版本问题,很多方法都没办法实现,最后通过多次尝试,最终满足要求。PS:下面的实现方法目前仅在itext5.x版本可行,其他版本没进行实验过,所以不知道是否同样可行,仅供参考。
2024-08-15 17:30:44
728
1
原创 解决BigDecimal序列化科学计数法前端展示问题(大坑)
BigDecimal类型的字段在前端页面展示变成科学计数法,通过排查,发现里面的坑还是挺多的,所以特意记录下处理过程。Json序列化,不同项目中配置的都不一样,有些项目是使用springboot里面自带的jackson的,有些是使用fastjson处理,不同的序列化的处理方式也不一样
2024-01-16 17:11:39
7051
原创 解决LocalDateTime 时间格式中间带’T’返回的问题(小心踩坑)
LocalDateTime 类型的字段返回给前端带着T,fastjson序列化LocalDateTime ,踩坑
2023-12-29 18:56:26
12182
1
原创 springboot 发送邮件实战(完整代码)
在我们实际项目中,有一些需求涉及到使用邮箱发送邮件的功能。Spring 框架提供了使用JavaMailSender接口发送电子邮件的抽象,适用于简单邮件发送,含附件文件邮件发送,还有html,模板邮件发送等。
2023-11-08 11:36:19
2212
原创 java 通过指定url地址下载文件到本地工具类(包含https的数字签名请求)
java 通过url地址下载文件到本地的工具类,并解决https请求时SSL证书不信任报错的问题。
2023-11-07 15:52:31
2466
1
原创 java 自定义注解校验枚举值
java 自定义注解校验枚举值> 业务场景:在接口开发中,我们有时候的入参是对应项目中的枚举,这就要求别人在调用接口时传入的参数值一定是要对应项目中的枚举值。但是在spring-boot-validation提供的校验中并没有枚举值的校验注解,虽然我们也可以通过断言Assert的方式来校验参数值,但是这样不够优雅,而且如果一个实体对象在不同的接口作为入参,那么需要在每个接口都要做参数校验,这就很笨重麻烦。所以就编写一个注解,作用于字段上。
2023-07-03 11:47:02
2694
原创 Camunda(二):springboot 整合Camunda 使用工作流程(含完整代码)
Camunda(二):springboot 整合Camunda 使用工作流程(含完整代码)前言:因为公司有个项目需求要使用到工作流引擎,考查了市面各种的工作流引擎,对比它们之间的优劣势,最后选择Camunda工作流引擎。此前自己对Camunda工作流引擎了解的并不多,所以就记录下自己学习Camunda工作流引擎到springboot项目中整合Camunda工作流引擎使用的过程。在上一篇文章中已经介绍了Camunda Platform和Modeler创建工作流的玩法了。在本文就将Camunda 应用在生产
2023-06-30 13:08:33
5280
6
原创 Camunda(一):Camunda Platform和Modeler创建工作流
因为公司有个项目需求要使用到工作流引擎,考查了市面各种的工作流引擎,对比它们之间的优劣势,最后选择Camunda工作流引擎。此前自己对Camunda工作流引擎了解的并不多,所以就记录下自己学习Camunda工作流引擎到springboot项目中整合Camunda工作流引擎使用的过程。本文就不涉及到任何代码,就单纯从Camunda 官方提供的工具来创建工作流,来观察流程的流转,对工作流的流转审核做个简单的初步认识。
2023-06-28 16:31:08
2862
原创 Java类中的任何布尔类型的变量,都不要加 is 前缀
POJO 类中的任何布尔类型的变量,都不要加 is 前缀,否则部分框架解析会引起序列化错误。MySQL 规约中的建表约定第一条,表达是与否的变量采用 is_xxx 的命名方式,所以,需要在设置从 is_xxx 到 xxx 的映射关系。反例:定义为基本数据类型 Boolean isDeleted 的属性,它的方法也是 isDeleted(),框架在反向解析的时候,“误以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异常。
2023-06-26 10:46:15
2098
原创 java 枚举的优雅定义
ONGOING(10 , "进行中") , FINISHED(20 , "已完成") , CLOSED(30 , "已关闭");return c;return key;} }
2023-06-25 13:36:51
191
原创 阿里云服务器CentOS 7.6安装docker和docker-compose
阿里云服务器CentOS 7.6安装docker和docker-compose
2023-06-21 15:21:41
1131
原创 Nginx的常用配置
语法: root path;默认: root html;配置块: http、server、location、if定义资源文件相对于HTTP请求的根目录。在下面的配置中,如果有一个请求的URI是/download/index/test.html,那么Web服务器将会返回服务器上optwebhtmldownload/index/test.html文件的内容。
2023-06-13 13:58:46
2226
原创 mbatis中mysql数据库使用in条件,个数超过1000报错解决方法
springboot-mbatis中mysql数据库使用in条件,个数超过1000报错解决方改成类似以下sql:select * from table where id in (1,2,……999)or (1000,1001,select * from table where id in (1,2,10000),in里面个数超过1000就会报错。因为项目中使用了mybatis框架,每个值都是用’,'分隔符隔开,导致最后会多一个逗号,所以需要加上null。在项目中使用mysql数据库,用到in的查询条件,
2023-05-04 16:45:09
3089
原创 从零开始-在阿里云服务搭建java应用部署环境
从零开始,在阿里云服务搭建java应用部署环境,阿里云服务器安装部署,jdk,mysql,redis和nginx
2023-04-20 18:03:38
1073
原创 springboot整合mybatis-plus 打印数据库数据修改前后的日志(完整代码实现)
springboot整合mybatis-plus 打印数据库数据修改前后的日志(完整代码实现)
2023-04-13 14:27:06
3929
原创 elasticsearch的基本概念和常用命令
elasticsearch的基本概念和常用命令。。倒排索引:es的底层排序是使用倒排索引的,通过value找到key(_id),es是有两个区,索引区和元数据区,元数据是存储完整的文档数据的,索引区记录每个字段的索引出现次数和长度,以便计算索引得分,用于返回排序的。es分别为每个字段都建立了一个倒排索引,因此查询字段term的时候,就能知道文档的id,就能快速找到对应的文档。扩展词:有些词并不是关键词,但是也希望被es用来作为检索的关键词,,可以将这些词加入到扩展词典
2023-04-06 21:16:44
214
原创 springboot 日志记录接口的请求参数和响应结果的两种方式-拦截器和切面(具体代码)
springboot 日志记录接口的请求参数和响应结果的两种方式-拦截器和切面(具体代码)
2023-03-30 17:05:28
6531
原创 java-EasyExcel导出excel设置单元格为文本格式(含代码)
java-EasyExcel导出excel设置单元格为文本格式(含代码)
2023-03-24 14:07:51
23291
8
原创 springboot整合mybatis-plus的sql输出到日志文件上
springboot整合mybatis-plus的sql输出到日志文件上
2023-03-23 16:49:46
5889
原创 springSecurity+JWT+Redis权限认证(完整项目代码)
springboot+springsecurity+JWT+redis
2022-12-10 21:44:09
3638
1
原创 java前后端分离项目部署
nginx: 首先在宿主机内创建html文件夹,然后把前端项目打包好的dist文件夹的文件全部放在html文件夹上,然后修改nginx.conf。Vue项目的入口是index.html,nginx路由必须要经过这个文件,所以要配置nginx.conf文件。mysql:首先创建data和config文件夹,然后在config文件夹上创建my.cnf文件。3、编写Dockerfile构建后端镜像。6、运行指令进行项目编排,出现下图内容。1、配置后端项目在生产环境的yml。5、把准备的文件上传到同一目录下。
2022-12-01 00:47:06
2894
原创 springboot整合quartz项目使用(含完整代码)
学习quartz有两方面,首先xxl-Job,elastic-Job这些框架都是基于quartz的基础上二次开发的,学习quartz更有利于我们加强理解定时调度。第二方面就是工作需求,有一些传统互联网公司还是有很多项目是使用quartz来完成定时任务的开发的。
2022-11-28 01:35:12
39793
13
原创 springboott整合mybatis-plus和sharding-jdbc实现分库分表和读写分离(含完整项目代码)
springboott整合mybatis-plus和sharding-jdbc实现分库分表和读写分离(含完整项目代码)一、整合sharding-jdbc关于springboot整合sharding-jdbc官网有4种方式,而网上千篇一律都是用.properties文件。我在这里主要是用yml+bean两种方式结合,bean主要是为了实现分片键分片规则更灵活。1.1引入maven依赖这里有个小坑,我一开始引入是最新的sharding-jdbc和mybatis-plus的依赖,结果启动项目直接报错。所以
2021-10-04 15:33:49
2113
4
原创 Spring状态机StateMachine框架---企业开发实战(含代码)
Spring状态机StateMachine框架—企业开发实战(含代码) 最近,在工作中上级派了一个任务给我,叫我写下状态机。一开始我听了是直接懵逼的,我都不知道什么是状态机。后来听了业务需求后才慢慢弄懂,这个状态机的作用是修改订单状态,为了让业务代码能够高效复用。这又引出了第二问题了,要怎样实现状态机,是写一堆if-else判断吗?一开始我的想法就是这样,后来上网查了状态机,发现有个StateMachine框架,然后就去看了官方文档https://docs.spring.io/spring-s
2021-09-13 15:52:42
3847
1
原创 在centos6.8离线,tar自定义安装mysql5.7及以上版本
1、检查是否已经安装过mysql,执行命令,如果存在先删除再安装rpm -qa | grep mysqlrpm -e --nodeps 文件名称2、查询所有Mysql对应的文件夹,删除相关目录或文件whereis mysql 和 find / -name mysqlrm -rf 文件的绝对路径3、下载二进制安装文件,即.tar.gz文件下载地址为:https://downloads.mysql.com/archives/community/4、创建mysql用户,先创建mysql组,再创
2020-09-15 18:00:55
241
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人