项目开发
文章平均质量分 52
想养一只!
好好生活 慢慢相遇
展开
-
HikariPool-1 - Connection is not available, request timed out after 30010ms.问题解决
在yml配置文件中设置Hikari的连接数,该连接数根据自己情况设定,切记不要设定太大,否则会导致其它工具(比如Navicat)无法连接数据库。,因为Hikari的默认连接数为10,我在批量导入时请求量太高导致数据库连接数不够,所以才导致该问题出现。无法为事务创建JDBC连接,HikariPool-1连接不可用。原创 2023-11-10 10:49:43 · 1932 阅读 · 0 评论 -
Mysql配置主从复制-GTID模式
是指把数据从一个Mysql服务器(主节点)复制到一个或多个Mysql服务器(从节点)中,会把主节点服务器中的所有数据库实例、特定数据库实例或特定表等,全部复制到从节点服务器中。原创 2023-11-08 17:22:25 · 1566 阅读 · 1 评论 -
Springboot中开启多线程,实现异步非阻塞、异步阻塞、有无返回值的场景
开启多线程异步的方式有很多种,不单单局限以上方式,感兴趣的可以自行研究测试下,比如还可以使用来开启多线程,然后分别使用对应的execute()和submit()方法实现无返回值和有返回值的效果;以上内容均为个人理解,如存在不当欢迎提出改进。原创 2023-10-23 15:45:20 · 3065 阅读 · 0 评论 -
Windows重启开机在不登录系统情况下自启指定程序
项目开发完成后需要部署上线,首次肯定是手动部署跑项目,后期如果出现断电或其他原因导致服务器关机需要重启服务器的情况,这个时候再远程过去手动跑项目是很鸡肋的,通常会设置程序开机自启动,这样就很省心了。想要实现开机程序自启的解决方法有很多,但是大部分方式还是需要我们登录Windows系统激活后,才能让程序自启,常见的方式有以下几种:1、快捷键放入启动文件夹内;2、计算机配置中指定启动脚本;3、任务计划程序中配置启动任务;......所以以上几种方式也并没有什么卵用。原创 2023-10-20 15:40:51 · 2871 阅读 · 4 评论 -
Java中根据中文汉字获取首字母
方法对单个字符提取首字母然后拼接结果,最后注释代码可以选择结果是否保留空格及转换字母大小写功能。在Java中想要实现根据中文汉字获取首字母的功能有两种途径,分别是使用第三方库。方法就是根据字符获取首字母,其中主要是使用Pinyin4j中的。类实现,这里大概讲述关于第三方库Pinyin4j的使用方式;工具类,结合Pinyyin4j提供的方法来编写具体功能实现;原创 2023-09-22 17:12:36 · 4863 阅读 · 0 评论 -
git提示:remote origin already exists
git remote add origin + 新的远程仓库地址。错误:远程源点已存在(翻译)原创 2023-09-21 11:22:16 · 4464 阅读 · 0 评论 -
Linux/Windows中根据端口号关闭进程及关闭Java进程
根据PID查看对应的进程,确保该进程使我们要关闭的服务,可使用如下命令。打开cmd窗口根据端口号查询PID,可使用如下命令。使用ps命令查询服务进程PID,可使用如下命令。根据端口号查询进程PID,可使用如下命令。使用kill命令关闭进程,可使用如下命令。使用kill命令关闭进程,可使用如下命令。根据PID关闭进程,可使用如下命令。原创 2023-09-07 17:12:00 · 2697 阅读 · 0 评论 -
Springboot中使用过滤器校验PSOT类型请求参数内容
在Springboot中创建过滤器,用来过滤所有POST类型请求并获取body中的参数进行校验内容是否合法;该方法仅适用于POST类型请求,因为POST和GET请求的参数位置不一样所以处理方式也不一样,如果想要实现拦截获取GET类型请求校验参数,可以参考以下示例:Springboot中拦截GET请求获取请求参数验证合法性。原创 2023-08-09 15:19:32 · 1128 阅读 · 0 评论 -
Springboot中创建拦截器
在Springboot项目中创建拦截器,在进入Controller层之前拦截请求,可对拦截到的请求内容做响应处理,如:校验请求参数、验证证书等操作;原创 2023-08-09 13:44:54 · 2672 阅读 · 0 评论 -
Springboot中拦截GET请求获取请求参数验证合法性
在Springboot中创建拦截器拦截所有GET类型请求,获取请求参数验证内容合法性防止SQL注入(该方法仅适用拦截GET类型请求,POST类型请求参数是在body中,所以下面方法不适用)。原创 2023-08-09 13:38:52 · 2198 阅读 · 0 评论 -
MySQL根据中文汉字排序查询
这个时候可以发现数据是正确按照中文首字母进行排序的,是因为ORDER BY后面使用了CONVERT函数转换类型指定了gbk字符集,才能按照中文首字母正确排序。指定 people_name 列数据正序排序,可以明显看出姓名的排序错误,测**和蔡**应该排在第一位置才对,结果第一条数据是李**;在MySQL中当说到进行排序查询时,大家的第一反应就是使用。方法指定列进行排序,但是如果要指定列为中文数据按照首字母排序时,就会发现。我们先来测试下正常使用。方法排序的顺序其实是有问题的。原创 2023-04-26 18:02:03 · 1003 阅读 · 1 评论 -
获取List集合中的最大值和最小值
实现获取List集合中的最大值和最小值共有以下两种方式,根据自己的场景选择合适的方法。原创 2023-04-10 11:00:47 · 11563 阅读 · 0 评论 -
MySQL中CONCAT、CONCAT_WS、GROUP_CONCAT函数详解
ORDER BY column2 ASC\DESC]:表示根据column2的排序顺序拼接合并数据;[SEPARATOR seq]:表示column1数据的分隔符,如果没有写会默认已 ','分割;separator参数用来指定分隔符,且分隔符不能为null,否则返回结果也是null。函数可以指定排序顺序对数据进行合并,并且也可以忽略null值。函数用来拼接合并指定列的数据内容;函数用来拼接合并指定列的数据内容;原创 2023-03-31 15:01:18 · 471 阅读 · 0 评论 -
MySQL创建组合索引
大家都知道索引是用来优化的主要因素,对于少量数据索引的影响并不大,对于几十万或百万级别以上数据的时候,单列索引的性能也不是很理想,组合索引可以大大的减少开销。原创 2023-03-31 11:27:43 · 6708 阅读 · 1 评论 -
Springboot项目打包后代码没有生效的问题
开始在网上查了很多的解决方式,比如清理idea缓存、更换打jar包的方式、修改项目配置等等,可是最后都没有生效,后来经过多次测试后慢慢发现了问题。首先我项目的架构比较不一样,因为我是由父模块管理了所有子模块,并且启动类也是在子模块中,正常打包的话直接在启动类中package,其实这个步骤就不对忽略了一步,正确的步骤应该是先在父模块中进行install,然后在启动类模块package就可以(install前也可以clean下),这样问题就得到了解决。开发的项目,并且区分了多个模块。原创 2023-03-27 16:59:21 · 1369 阅读 · 1 评论 -
excludePathPatterns方法不生效
证书授权的功能,然后在配置拦截器的时候拦截了所有的请求都必须验证License是否到期,但是这样会导致接口响应慢,所以打算使用。这个接口,然后我现在代码是这样写的,却怎么测试都不生效。路径,外部访问接口的时候必须要以/api为前缀,但是在。时会出现以外,在别的场景中也会出现这样的问题,比如在。中拦截请求是否需要认证时,也不能使用这个。方法对部分url请求放行。后来经过多次尝试后终于发现了问题,将。因为我是在yml配置文件中设置了。去掉写成下面这样的写法就通过生效了。中配置其实是不需要这个前缀的。原创 2023-03-23 14:40:04 · 1099 阅读 · 0 评论 -
Nginx代理后获取客户端真实IP地址
但是当我们使用Nginx反向代理项目地址后,使用以上方法只能获取到Nginx服务器的IP地址,并不是客户端的IP地址。在项目实际应用中,我们可能会需要获取到用户也就是客户端的真实IP地址,比如记录系统操作日志等情况。语法就是允许重新定义或者添加发往后端服务器的请求头,所以在 java端,需要获取。解决方法很简单,同样也是在Nginx中进行配置,然后在Java中获取即可。getHeader()中的参数名就是nginx.conf中配置的名字。的,而我们客户端的IP地址信息一般都是存储在请求头里的。原创 2023-03-21 14:55:42 · 8455 阅读 · 9 评论 -
解决注入spring容器中的bean对象为null问题
RedisUtils工具类已经交给spring进行了管理,但是唯独在这个位置获取不到,具体原因还不太清楚,如有伙伴了解可以交流下。注入RedisUtils成功,可以使用RedisUtils中的所有方法,但是当我在一个Shiro的配置类中使用。RedisUtils已经在spring工厂中,注解的方式不行那么我们就换另外一种方式来获取这个bean对象。工具类,RedisUtils中实现了存储、获取、删除操作redis的方法。项目启动后在Controller层使用。原创 2023-03-21 11:07:31 · 1823 阅读 · 0 评论 -
前后端分离项目优化页面调用接口速度
本篇文章主要从后端角度出发进行修改优化,通过gzip压缩压缩资源的方式来提升页面的加载速度。原创 2023-03-17 10:22:46 · 669 阅读 · 0 评论 -
云服务器配置域名直接访问项目
主要讲解云服务器配置域名及使用域名访问项目。原创 2023-03-16 16:42:43 · 1318 阅读 · 0 评论 -
Swagger2实现配置Header请求头
大家使用swagger肯定知道在代码中会写一个 SwaggerConfig 配置类,如果没有这个类swagger指定也用不起来,所以在swagger中配置请求头也是在这个 SwaggerConfig 中操作。1、要实现配置请求头在配置swagger的Docket的bean实例中添加一个。3、到这里就实现请求头的全部配置了,下面是完整代码。2、然后给这个全局配置需要接收一个。原创 2023-03-01 15:29:18 · 4559 阅读 · 0 评论 -
java实现转移文件位置
java中实现转移文件的位置原创 2023-02-15 14:52:25 · 212 阅读 · 0 评论 -
java实现冻结/锁定excel表头
表示冻结左边第一列;表示冻结上面第一行;c表示右边区域[可见]的首列序号;d表示下边区域[可见]的首行序号;a表示要冻结的列数;b表示要冻结的行数;原创 2023-02-02 16:00:52 · 989 阅读 · 0 评论 -
windows中查看端口号并关闭服务进程
1、win + r 输入 cmd 打开dom命令窗口查看被占用的端口号。关闭端口号为8088的服务。2、查看PID对应的进程。3、杀死占用的端口号。原创 2022-12-20 15:48:29 · 690 阅读 · 0 评论 -
在Windows中使用Nginx配置部署springboot+vue项目
在Windows中使用Nginx配置部署springboot+vue项目原创 2022-12-19 17:47:09 · 1257 阅读 · 0 评论 -
springboot实现License证书的授权和许可到期验证
在客户服务器部署软件项目后,为了项目版权管控或者对项目进行授权收费处理的,就需要实现项目的授权和许可验证。在这里讲解的是使用 license证书 的形式实现授权和许可验证(已通过测试)。主要是通过IP地址、MAC地址、CPU序列号、主板序列号服务器硬件信息生成一个License证书,同时可以设置生效时间与失效时间,控制项目到期之后项目不可用。原创 2022-12-10 12:46:48 · 15263 阅读 · 16 评论 -
springboot中配置logback实现打印控制台、写出文件,控制日志级别的方式
springboot中实现第一种方式(简单配置)只需要在 **application.yml** 文件中配置以下内容即可。 第二种方式(推荐)创建 **logback.xml** 文件(文件名随意起),我是放在了项目根目录下面。原创 2022-11-23 17:07:59 · 5138 阅读 · 0 评论 -
Maximum upload size exceeded;nested exception is java.lang.IllegalStateException
在springboot中文件上传时控制台报错如下,很明显是上传的文件问题,因为上传的文件大小超过了默认限制的限制大小。因为springboot默认单个文件上传大小是1MB,默认多个文件上传总大小是10MB。原创 2022-11-17 11:25:38 · 11050 阅读 · 0 评论 -
java后端返回给前端对象时去除值为空或NULL的属性
测试接口时发现当返回的对象中属性值为“”或[]或null时,该属性依然会返回,这样数据看起来很不美观并且有时候也会导致前端组件出现一些小的bug。例如这个下拉框,人事科下面是没有部门的,但是由于接口返回了children为空,导致后面多出一个空页面。原创 2022-11-15 15:38:12 · 4477 阅读 · 0 评论 -
springboot中实现生成验证码和登录校验功能
1、整合 **kaptcha** ,创建 **kaptcha** 的工具类。 2、编写接口,在接口中使用 **kaptcha** 工具类来生成验证码图片(验证码信息)并返回。 3、登录时从 **session** 中获取验证码进行校验。 4、测试获取验证码图片(验证码信息)原创 2022-11-08 09:13:41 · 2419 阅读 · 0 评论 -
在springboot中使用JWT自定义生成Token信息,接口请求时校验Token(在Shiro基础上)
项目原有使用的是springboot+shiro的环境,后来由于应用要与OA对接单点登录,所以在原有基础上,修改成使用JWT自定义生成token信息和校验token功能。1、创建类/**/*** @Description: 校验token信息* @Returni ++) {//有储存token的cookie token = cookies [ i ] . getValue();break;} //验证token的真实性 try {原创 2022-11-07 18:03:20 · 1889 阅读 · 3 评论 -
springboot中实现定时任务(最方便简单)
在springboot中实现定时任务最简单的方式就是使用来实现,接下来具体讲解下使用步骤!原创 2022-10-27 10:05:02 · 1165 阅读 · 0 评论 -
mysql主键重新排序,数据删除后设置主键数值重新排序
我mysql数据库中有张操作日志表,创建表时设置的主键ID是自动递增的,由于日志数据量较大,项目中又设置了定时自动清空部。为了解决该问题我使用了以下操作,当有数据删除后就使主键重新排序,一直保持主键从1开始排序递增。分过期日志数据,这样就造成日志表中主键不是从1开始记录的,并且主键递增会无限扩大。原创 2022-10-13 10:20:30 · 3445 阅读 · 0 评论 -
MultipartFile获取文件名、文件后缀等方法
MultipartFile获取文件名及后缀信息。原创 2022-10-12 09:17:52 · 28790 阅读 · 4 评论 -
spingboot实现导出excel文件功能
【代码】spingboot实现导出excel文件功能。原创 2022-10-08 17:45:00 · 320 阅读 · 0 评论 -
java通过CellStyle设置单元格背景颜色
上面的单元格颜色对应下面的英语颜色表示,从X1-X49 按顺序对应;2、设置背景色时必须添加。将下面对应的code填入。设置,否则背景色无效。原创 2022-09-27 18:43:12 · 14225 阅读 · 5 评论 -
springboot中实现查看flowable流程图和xml文件功能
lowable中提供了查看流程图和xml文件的API,只需要一行代码就可以搞定获取到InputStream流,先来看下核心代码也就是flowable官方提供的API原创 2022-09-17 15:55:41 · 3099 阅读 · 0 评论 -
java中使用springboot2.5.6整合activiti6和flowable6.3.0工作流引擎
介绍工作流引擎这两天了解了市面上比较热门的两个工作流引擎,分别是activiti和flowable通俗介绍下:1、flowable其实就是从 activiti6 发展来的,可以理解为加多宝与王老吉之间的关系2、activiti更轻量级,适合小白和入门学习,上手会更快一点3、flowable 支持流程节点跳转,activit不支持的4、activiti自动权限安全验证4、activiti6及之前的版本不兼容springboot2.x版本,需要修改activiti源码5、flowable自带表单。原创 2022-09-08 17:40:19 · 962 阅读 · 0 评论 -
本地搭建flowableUI应用服务
步骤:flowable文件下载完成后,进入到wars目录下,然后在路径中输入。下载完成后随意找个地方解压开就可以,然后配置tomcat的环境变量。然后进入到tomcat\bin目录下双击startup.bat运行。用户名:admin 密码:test 就可以登录了。用户名:admin 密码:test 进行登录。flowable文件解压后将wars路径下的。回车,打开命令窗口输入。放到tomcat中的。原创 2022-09-08 17:29:18 · 1485 阅读 · 0 评论 -
java: JDK isn‘t specified for module ‘apputils‘错误解决
今天准备使用原有的框架,复制基础功能模块开发新的项目呢,结果在编译的时候其中的一个模块一直提示这个错误,开始使用了各种办法去重新编译都解决不了,后来偶然发现一种暴力方法可以直接解决,那就是。...原创 2022-08-19 09:56:07 · 1357 阅读 · 0 评论