自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 索引知识总结

一、什么是索引?索引是在数据库管理中一个非常重要的概念,它是一种数据结构,设计用于提高数据库查询的效率。索引类似于书籍的目录或索引页,可以帮助数据库管理系统快速定位和检索数据,而不必检查数据库中的每一行。总的来说,索引是提高数据库性能的关键工具,但需要谨慎使用,以避免不必要的开销。二、如何使用索引在数据库中使用索引主要涉及两个方面:创建索引和利用索引进行查询优化。

2024-07-09 20:56:06 862

原创 redis实现简单分布式锁

【代码】redis实现简单分布式锁。

2024-06-30 20:50:29 399 1

原创 springboot如何快速接入minio对象存储

的配置类,用于加载 application.yml文件中的minio配置信息,并初始化 Minio 的客户端,使用 Minio 客户端进行相关操作,例如上传文件、下载文件、删除文件等。1.在项目中添加 Minio 的依赖,在使用 Minio 之前,需要在项目中添加 Minio 的依赖。可以在 Maven 的。4.创建MinioController.java类,处理文件上传,下载,桶创建,删除等操作。3.在项目中编写一个名为。

2024-06-01 08:46:45 377

原创 RestTemplate请求第三方接口实战

【代码】RestTemplate请求第三方接口实战。

2024-04-02 18:03:34 483 1

原创 阿里云免费证书过期更换证书操作步骤:

下载后解压上传到服务器指定目录,修改nginx配置,待签发后,浏览器访问443端口,如果是安全的连接则证书便更换成功。下载验证文件fileauth.text到,解压后上传到服务器指定位置,修改nginx的配置文件里的配置路径。https和http都需要配置访问此文件的路径。验证通过后,下载证书pem/key。选择文件验证方式,提交申请。

2024-04-02 18:01:03 1491 2

原创 spring中通过反射调用bean方法

【代码】spring中通过反射调用bean方法。

2024-03-02 10:57:03 555

原创 调用第三方post接口下载文件

最近需要将一个老系统的功能迁移到新系统,老系统将不再使用,有一个从第三方接口下载文件的功能,post测试如下。在程序内部下载文件,并保存到服务器。hutool便派上用场。首先引入hutool依赖。具体代码如下,因为知道下载的文件都是pdf,所以保存的时候直接以pdf格式保存了。

2024-01-12 14:01:35 733

原创 nginx配置ssl证书 使用https

申请证书,需要先将 fileauth.txt保存到服务器上,必须包含 .well-kenow/pki-validation 目录下。基于能白嫖就白嫖的原则,阿里云给每个用户一年20个ssl免费证书申请额度,虽然免费的证书只能使用3个月。将https的请求转发到http ,这样你的网站既可以通过http访问,也可以通过https访问。首先在阿里云控制台搜索 sll证书。然后数字证书管理服务界面 购买证书。nginx配置,这样申请才可能通过。选择购买免费的证书。购买完成后,申请证书。

2024-01-11 08:27:36 414

原创 vant+vue+springboot 实现图片单张和多张批量上传

最近做一个H5项目,使用的是vue2+vant2+springboot前后端分离架构。有一些选择多张图片上传的需求,做完在这里分享一下。需要注意的是在beforeRead 函数中,做文件校验时别出错,否则选择多张图片后会没反应。accept=“image/*” 表示只接受图片类型文件。mutiple 默认为true,多选图片需设置为true。:max-count="5" 限制上传的图片数量。beforeDelete 函数表示删除文件前。beforeRead 函数表示读取文件前。

2024-01-05 11:12:15 1096

原创 springevent实现业务解耦

springevent是spring的一个基于观察者模式的事件消费框架,可以轻松的实现业务解耦,比如发送邮件,短信,记录日志,或其他与主业务没有强相关的逻辑处理,从而提高接口的响应速度,解耦业务逻辑,使这些操作不影响主业务逻辑的执行。2.定义事件监听器和处理器,当监听到事件发布,便处理此事件,我此处以文件上传后,word文档转pdf文件并加水印为例。当发布事件后,ApplicationListener就会监听到事件发布,处理此事件。

2023-12-30 10:42:25 380

原创 springboot结合 lombok 实现日志记录

由于项目中使用了lombok,因此可以结合springboot的自带的日志打印框架logback实现日志打印和记录日志到文件。3.在resource文件夹中创建logback的日志配置文件 logback-spring.xml。4.修改application.yml文件中日志的配置。5.启动项目,即可实现日志打印到控制台好,记录日志文件。2.在需要记录日志的类上添加注解@Slf4j。1.需要引入lombok的依赖。

2023-12-30 10:24:49 555

原创 Vue+Elementui 如何实现路由缓存

首先在router路由配置的信息中添加 keepAlive:true属性。1.路由缓存不仅可以提高用户体验,还可以降低后端系统的压力。然后在使用keepAlive标签包裹路由。这样就可以实现路由缓存。

2023-12-27 16:15:05 410

原创 mysql查询关于时间的查询语句

2.查询今年每个月的数据。

2023-12-26 08:30:03 530

原创 记一次安全漏洞处理过程 Appscan漏扫问题

我使用的是nginx-0.18版本,升级成最新的稳定版0.24版,漏扫通过。解决办法:我使用的是nginx服务器,在nginx.conf文件的server里面配置如下内容,有的内容按自己项目实际情况配置。漏洞2 : Content-Security-Policy 响应头缺失或具有不安全策略,项目上线之前,经运维部门漏扫网址发现很多安全漏洞,这里分享一下这些漏洞的解决办法。到“X-Content-Type-Options”响应头缺失或具有不安全值,漏洞5. 返回不必要的响应头信息。至此,各种漏洞完美解决!

2023-12-20 15:26:35 526

原创 vant2 + vue实现顶部固定,页面切换的手机网站页面

vant使用这里不赘述了,具体就是使用van-tabs和van-tab。

2023-12-07 17:22:46 449

原创 vant+vue2+springboot实现图片上传,删除图片

v-model绑定文件列表 multiple表示可以上传多个文件 accept表示可以接受上传的文件类型。max-count 表示最多上传文件个数 before-delete 表示文件删除调用函数。after-read 表示文件上传函数。

2023-11-20 17:14:53 481

原创 一个注解实现接口限流

3.由于使用redis做限流,此处使用lua脚本不仅可以实现原子性操作,而且性能更高。在resource下建目录存放lua脚本。1.在pom.xml引入redis依赖和aop依赖。2.在yml文件中配置redis相关信息。基于aop和lua脚本实现接口限流。自定义限流异常,并进行全局异常处理。4.编写redis配置文件。此处的限流类型枚举类。

2023-10-31 20:04:23 92 1

原创 springboot与验证码图片

我是一个杠入行没多久的小白,在当下大环境很差的情况下,虽然有一份工作,但是总感觉明天就可能被社会淘汰,一方面是因为ai的出现对程序员这个行业冲击还是很大的,另一方面是整个经济环境的下行,很可能突然一天就被老板裁掉。在一个很卷的环境下,唯一的出路就是能多学习就多学习,反正闲着也是闲着。配置说明:注释掉的配置是自带的servelt,简单配置一下,不需要额外编写controller接口,就可以返回验证码图片。下面的两个配置,一个是普通的字符串验证码,另一个是数学计算验证码,可以自己实现验证码生成器。

2023-10-29 08:44:41 60 1

原创 如何多次读取request对象中的io流参数

由于request的参数只能读取一次i,但是在实际的开发中,我们需要大量的参数校验或者拦截器过滤器需要获取request的请求参数,为了解决多次读取request中的参数,我们需要重写HttpServletRequestWrapper类中的方法。然后我们就可以在其他的地方,比如切面类,其他过滤器,拦截器中通过request多次读取其中的请求参数了。然后写一个拦截器,我此处是拦截所有请求,你也可以根据需要具体拦截那类请求。

2023-10-27 11:15:28 77 1

原创 springboot文件上传大小设置

最近接手一个项目,文件上传功能用的比较多,有业务人员经常反映文件上传老是被限制在20Mb以下,很不方便,有甚多大文件上传不了,我打开yml配置文件,才发现了两个关键配置都设置的20Mb,因此上传会失败。因此我给改成100MB,但测试发现还是不行。后面百度了很多资料,终于找到关键配置是下面这个。最终成功解决这个问题。

2023-10-18 14:24:19 67 1

原创 记录一次真实mysql数据恢复

幸好系统刚上线不久,数据不是很多,使用人数也不多,就赶紧到网上找解决办法,很多办法都试了,加班到晚上10点终于恢复了99%的数据,可能有半小时左右的数据没法恢复了,因为那点时间我可能执行了删数据操作,所以无法精确到具体的时间点。而且最近的备份文件是上周6的。选择创建基本任务,填写相关内容,选择脚本文件,触发器设置每天执行的时间,保存,windows就会每天按时执行此脚本生成备份文件,这样即使出现故障,也只会丢失小段时间的数据,再配合binlog,即可恢复增量数据。恢复方法就是找到最近的备份文件,执行恢复。

2023-10-14 10:02:15 53 1

原创 java实现doc文档转pdf

首先需要添加相关依赖,因为我项目中使用guava的,因此在这里需要将此依赖中的guava依赖排除,避免出现依赖冲突。最好我们调用工具类中的wordToPdf方法将文件地址传入即可,生成的文件地址可以自行更改。因为项目中需要将用户上传的doc文档转成pdf格式,网上找了很多方案,最终选择使用。此方法缺点是需要在服务器上安装office或者wps。然后创建一个PDFUtil工具类。documents4j的方式。

2023-10-04 10:55:59 1572 1

原创 java单例模式设计与实现

可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。单例模式实现方式一:饿汉式 这种方式比较简单,但对于一些不一定会使用的对象,会造成内存空间的浪费。这种方式不仅不会浪费资源,因为使用的java的类加载机制,所以性能很高,推荐使用。在它的核心结构中只包含一个被称为单例类的特殊类。这种方式虽然不会造成资源浪费,但加锁会影响性能。单例模式实现方式三:静态内部类。

2023-10-04 10:44:07 45 1

原创 java类加载机制相关知识简单总结

类在加载阶段需要使用类加载机制加载类,jvm使用的双亲委派机制进行加载,简单理解就是,每个类都有自己的类加载器,加载时会先让父类加载器加载,当父类加载器无法加载时才会根据全类名尝试自己加载。至此一个类经过加载、验证、准备、解析、初始化完成类的加载,加载阶段生成的class字节流信息会保存在方法区中,并在堆中生成此类的类对象,此对象描述了此类的所有信息,做为此类数据访问的入口。2.jvm类加载器:启动类加载器,扩展类加载器,应用程序类加载器,以及自定义类加载器。解析:主要解析的是类,接口,方法,字段。

2023-07-10 16:40:15 85 1

原创 javaweb项目中数据传输DTO

此dto可以一直作为查询参数传递到mapper.xml文件中,大大简化了前端很多杂乱参数的收集工作。而且接口之间互调,也可以作为参数传递,无需定义很多无用的参数传递类,大大简化了开发。为了方便项目中一些方法之间数据传输以及前端参数的接收,自定义多功能参数传递Dto接口,继承自map接口。为了方便创造此对象,再编写一个生成此对象的工具类,以及接受request对象前端传进来的参数,在controller中,直接可以将request对象传给Dtos类,让它自动解析。然后实现此Dto接口。

2023-07-08 09:24:24 455 1

原创 简单实现vue项目给页面添加水印

在需要水印的页面中,在页面的created,mounted生命节点调用此接口生成想要的水印。将此js文件放到项目某个目录,我这边是src/utils目录里。然后在main.js中引入此工具文件。

2023-07-08 08:55:07 653 3

原创 使用注解和redis实现防止接口重复提交

给需要防止重复操作的接口上加上此注解即可。

2023-07-08 08:44:10 196 1

原创 如何在springboot项目中导入带图片的excel表格

Excel(name="印模",type = 2,savePath = "D:\\VIPRFileUpload")图片列只需要添加type为2是图片,savePath是保存地址。前端vue代码:包含一个上传按钮和隐藏的上传文件组件。需要创建一个与表格列字段相对应的实体类。至此,导入excel成功。后端使用easypoi。接口以及具体的导入实现。

2023-06-17 09:43:29 958 2

原创 记一次使用vue+springboot生成pdf文件并导出

当在界面点击导出pdf时,向后端发起请求。如果是前后端分离项目,需要放行此地址。

2023-04-27 10:54:49 2140 2

原创 如何自定义starter

最后一步:使用命令mvn install,这样就会打包到我们的maven仓库中,即可生成jar包。@ConditionOnClass(Mystart.class) 表示为只有当Mystart存在时才会实例化,就是在项目中被使用才会实例化。然后在resource下面建META-INF文件夹,然后建个spring.factories文件,然后文件中写上。@ConditionalOnMissingBean表示容器中没有这个类才会返回这个类,如果有就不加载这个类了。第三步: 然后建个自动装配类。

2023-04-04 10:07:11 121

原创 使用EasyExecl+Spring boo实现导入导出

完结,至此,导出模板实现,导出数据可以根据前端传进来的查询参数到数据库搜索数据后再按上面的方式,创建数据实体,将数据组装后,调用 EasyExcel.write即可实现导出数据。工作中想必会大量使用到导入导出数据的场景,之前一直使用poi,不仅性能比较差,很吃内存,实现起来也很复杂,后来开始使用easyexecl,发现真的好简单。导出实体定义:此处用来导出待填写的模板。写导入的监听类,一行一行读取。第二步:编写导入导出的接口。

2023-04-01 10:50:09 176

原创 vue+elementui + Spring boot项目实现文件上传下载

使用表单文件上传组件el-upload,通过:action绑定上传文件的api,此处我们将auto-upload设置为true,实现异步上传。前端需要显示图片,可以直接将存入数据库的url放入图片标签的url中,浏览器会自动去服务器获取图片并显示出来。基于vue+elemenui的带来的前后端分离模式,实现文件图片上传服务器,下载到本地等操作。后端实现:此处我们将图片或文件直接存储在服务器D盘符下的fileUpload目录下。存入数据库,到时候读取图片直接通过路径读取。

2023-04-01 10:15:57 3260

原创 java线程池实现原理及其在业务中的实践

面对业务中使用线程池遇到的实际问题,我们曾回到支持并发性问题本身来思考有没有取代线程池的方案,也曾尝试着去追求线程池参数设置的合理性,但面对业界方案具体落地的复杂性、可维护性以及真实运行环境的不确定性,我们在前两个方向上可谓“举步维艰”。最终,我们回到线程池参数动态化方向上探索,得出一个且可以解决业务问题的方案,虽然本质上还是没有逃离使用线程池的范畴,但是在成本和收益之间,算是取得了一个很好的平衡。

2023-04-01 09:47:36 202

原创 java调用webservice接口实战

还是第一次调用此类型接口,还是基于soap模式,因此比较麻烦,不像http接口那样,可以使用第三方工具。返回结果说明:YS

2023-03-11 09:10:33 1401

原创 vue2+elementui 实现图片上传组件保存后图片回显,复选框回显

组件代码 v-model="opinionForm.imgs" 是表单数据, :file-list="files" files代表当前组件已经上传的图片列表, :auto-upload="true" 需要设置自动提交图片回显是保存后重新打开页面后,将后端查询出的图片地址重新赋给files属性,此处需要注意files属性脱离表单对象。就可以实现图片回显。

2023-03-11 09:09:34 2322

原创 记一次使用hutool的http工具调用外部接口同步人员信息

最后根据返回的集合生成目录结构,主要设置treenodevo对象的id,pid,value,lable参数。methods中添加后台调用方法,此方法可以在点击页面加载时调用,看自己,还有。总结:使用第三方工具类,开发简单不少,好用的工具类大大提高开发效率。前端vue+elementui,用级联选择器显示目录树。data中添加treeNodeVos对象。首先是TreeNodeVo实体。controller类。

2023-02-16 17:05:25 1672 1

空空如也

空空如也

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

TA关注的人

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