
java进阶
文章平均质量分 73
java进阶
Hi梅
bug不见!
展开
-
RabbitMq-队列交换机绑定关系优化为枚举注册
该项目介绍,rabbitMq消息中间件,对队列的注册,交换机的注册,队列与交换机的绑定关系进行注册,这三个步骤进行简化,通过枚举的配置完成这些操作。可以参考之前写的文章>SpringBoot整合Rabbitmq。原创 2024-10-24 22:10:32 · 704 阅读 · 0 评论 -
Web端Excel的导入导出Demo
使用阿里巴巴开源组件Easy Excel对Excel的读取和写入。如需更详细查看官方文档,当前案例主要对Web端的数据导出,和Excel文件上传到服务端进行数据解析的Demo.其中主要的是工具类的用法。web端接口导出web接口导入本地文件读取本地文件导出。原创 2024-04-14 16:12:05 · 796 阅读 · 0 评论 -
大集合按照指定长度进行分割成多个小集合,用于批量多次处理数据
通常我们对集合的更新或者保存都需要用集合来承载通过插入的效率,但是这个会遇到一个问题就是你不知道那天那个集合的数量可能就超了,虽然我们连接数据库进行批量提交会在配置上配置allowMultiQueries=true,但是太长了也一样会会报错,这样我们就只能分批查询或者分批插入,需要把大集合拆分成小集合数据,希望接下来的案例可以帮到您。核心代码 : 大集合分割成小集合,这里使用到泛型T,这样我们就可以把该方法提供成公共方法,由调用方决定把集合拆成多大。原创 2023-08-30 18:58:01 · 1434 阅读 · 1 评论 -
Mybatis-plus使用@TableField(fill = FieldFill.UPDATE)完成自动填充字段如保存更新时自动更新时间
使用mybatis-plus完成字段的填充,使用起来也比较方便,当我们往数据库插入一条数据时我们不需要在给指定字段上new Date() ,而是使用mybatis-plus的注解完成完成.并且提供了4种策略枚举让我们使用.按照自己的使用场景进行使用.我们通常会创建一个实体类基类用于继承,该基类上的字段在所有表中都应该存在,比如说创建时间,更新时间,创建者,更新者等信息.例如我创建的基类在这里使用了2种策略枚举分别是。原创 2023-08-29 21:31:10 · 3410 阅读 · 2 评论 -
【全局异常】返回值通过【枚举】的形式返回
后台程序发生异常,通过全局的异常类使用枚举的方式把错误信息返回给前端.用于返回指定业务错误信息的枚举,我们需要实现`AbstractBaseExceptionEnum `抽象接口,因为是抽象方法所以必须要重写里面的2个方法,这样我们在传递错误信息的时候我们就可以通过枚举的形式传递错误,以后我们只需要维护好错误枚举类就好了原创 2023-07-16 22:00:00 · 768 阅读 · 0 评论 -
淘宝订单拉取更新历史状态~需求
对应的数据结构了.这样我们就可以直接通过订单id获取到对应的TaobaoOrder对象,就不需要单独在用订单id去查询一遍库,判断状态是什么值时对订单做对应的处理了.标识判断该时间断是否还有下一页数据,直到该值数据为false时,表面该时间范围内的订单数据获取完成.拉取完成后需要对数据库中订单状态进行更新或者新增订单信息到数据库中,我们可以通过。可以看出通过上面配置的拿到的返回值和我们预期的对象不一致.这个时候就需要在xml的方法上添加。子订单号唯一去查询数据库已经存在的订单返回,数据库返回的格式。原创 2023-07-09 11:28:36 · 915 阅读 · 0 评论 -
Java线程池ThreadPool来提高效率~模拟视频下载
使用线程池ThreadPool来提高效率,如本项目中模拟多线程下载视频和单线程下载视频所使用的时间消耗长短。之前写了个抖音视频下载由于每一次,搜索出来的视频都不一样导致下载视频的大小也不一致这样就没办法比较多线程和单线程的效率, 所以这一次在下载方法里面采用睡眠当前线程的方式模拟视频下载。原创 2023-04-01 23:40:38 · 286 阅读 · 0 评论 -
Java【全局异常】无法捕获【环绕通知】
在环绕通知里面不要使用try/catch而是直接抛出错误,这样全局异常就可以正常捕获到,但是还是会有问题,比如说抛出后,后置通知和最终通知就不能生效了。展示日志环绕的切面,其实看到这里也应该知道,try里面的报错的代码会catch掉所以代码正常运行了,并没有被我们的全局异常捕获到。接口 由于try/catch 指打印了错误信息,后置通知也正常走完。在系统中自定义了全局异常处理器,无法捕获异常源。通过返回值可以快速知道错误的代码在那个位置上。请求接口中添加异常,并且在其中的接口中添加。原创 2023-03-22 23:05:38 · 1394 阅读 · 1 评论 -
SpringBoot使用redisTemplate存入Redis中Key会出现乱码
存入redis后通过桌面端可视化软件查看key,会出现key乱码问题。导致我们没法直接查看数据信息。但是不影响程序的获取。桌面端可视化软件查看key,没有出现key乱码我们也可以直接查看数据内容,问题解决。把key数据存入Redis,然后通过key取出UserMapper 对象。原创 2023-03-12 11:04:38 · 909 阅读 · 0 评论 -
java获取父类的泛型<T>对象
子类继承泛型抽象父类并且传递泛型对象。原创 2023-03-11 20:12:23 · 592 阅读 · 0 评论 -
Sms多平台短信服务商系统~完成阿里云短信服务发送可自行配置
接下来的代码不是单纯的使用短信服务商提供的发送代码来完成短信的发送那样子就太简单了,我想你们也不想看这样的文章了CSDN一抓一大把,或者看官方文档即可。这篇文章已经推迟更新十多天了,都没时间来更新,业务代码和项目已经都是完成了我放在gitee上,到时候仓库我会公共出来,这样你们也可以拉取下来改成对应的短信发送系统。这样我们在后续的代码中可以通过对应服务商的特征来使用对应的配置如下图调用。按照我写好的阿里云示例代码编写好你们对接的短信服务商后,我们就开始组装需要的参数并且发送信息。场景类型名称的key。原创 2023-02-22 19:30:00 · 1350 阅读 · 3 评论 -
Web应用出现异常,你一定会使用到的全局异常捕获
我们通常会定义一个类用于表示出现该错误是由于什么导致的,我们在编写业务逻辑的时候会对不满足,并且会影响后续代码运行的地方手动把错误抛出。由于我们是判断被除数传递的是0才会被我们的异常捕获抛出,现在有些人他传递的数据是0.0那么我们捕获的就进不去拉。又因为我们在异常中获取堆栈的信息把发送错误的异常类和报错的行数返回出来,这样开发就可以快速找到问题出现的所在。由上面提示的错误我们可以找到错误的代码行数,并且通过返回的错误信息知道是格式化异常。调用接口,可以看出已经被我们的异常方法捕获到了。原创 2023-02-07 21:15:00 · 881 阅读 · 0 评论 -
【SpringAOP进阶】添加注解方式进行接口增强
📚目录📚简介:💨进阶版🗺️未实现AOP效果🎢创建注解:💭创建注解切面🚀使用方式:🎉结束:📚简介: 需要对AOP有一点了解的情况下看进阶的内容才容易懂一些点击查看往期AOP内容,然后前一篇写的比较基础些通常在业务多变的情况下可能会有多个业务也需要设置相同的切面达到方法的增强,这个时候可能方法就不在同包下或者方法名称又不一致导致切面表达式execution会不知道怎么写或者配置起来会更麻烦。  原创 2022-12-20 22:57:42 · 1041 阅读 · 1 评论 -
Spring的AOP切面应用对【后台对接口增强】
我们写一个方法时如果每个接口都需要写一段固定的代码时,我们可以考虑使用切面(AOP)对方法进行增强,这些增强的方法称为连接点。好比我现在有个接口是用于提交数据或者对数据进行修改,这个时候如果发现数据有问题是不是应该进行排查,如果是直接打印日志的方式不是开发的同学就没办法判断为什么会产生错误数据,一般后台系统都有张表是用于记录用户操作数据的,这样我们就可以通过提交的数据进行排查为什么会产生错误数据,还有一个就是对数据进行操作产生问题追究职责的看是那个后台用户进行操作的。原创 2022-12-18 12:36:07 · 825 阅读 · 0 评论 -
easypoi导出excel,列要求是数字导出是文本的问题~并分析源码
由于使用了导出的excel列需要是数字的但是导出的默认是文本类型,这样选择列就无法进行统计求和,由于没有认真看注解导致我跑去分析源码。所以才有了这批文章。这样选择列就无法进行统计我们可以看注解Excel中定义的字段类型表示啥意思 比较搞笑的是,有时候认真一点看源码注释都不需要自己debug进断点里面分析源代码在源码中主要关注该方法里面会把我们实体类中定义的属性设置到excel对象中。内容就是负责组装数据中调用createCells方法把传入的数据进行遍历其中对象就是取出来的需要插入原创 2022-12-07 20:05:19 · 5479 阅读 · 6 评论 -
SVN项目,提交Git保留之前提交记录
由于之前直接搞的项目是部署在自己搭建的SVN服务器上,平时创建的项目也都是往SVN上存储,有几个项目是从今年的5月份开始写,一直到现在我一个人维护的提交记录已经达到374条提交记录,有些时候又想把工程移动到Git但是又要保留之前SVN提交的记录保留下来,那么这篇文章绝对可以给你带来帮助。推送远程如果出现推送失败可以先下由于我远程没有需要拉的所以直接强制推送了添加参数原创 2022-12-04 13:51:44 · 672 阅读 · 2 评论 -
Docker创建Spring容器【方便服务迁移】
当我们的系统为了可以承载更多的访问量我们通常会部署多台服务器,这个时候我们就拿安装jdk来说运行的环境总不能少吧!那么你就要在多台服务器上部署环境啥的,这个是少的来说如果还要安装Redis,RabbitMQ等中间件的情况下就会出现很多重复性的安装,这个时候我们就可以使用Docker容器来完成容器的迁移运行,把已经部署好的容器导出,然后再新的服务器上通过Docker命令导入进去运行关于Docker安装可以看往期内容。原创 2022-11-27 23:00:00 · 887 阅读 · 0 评论 -
Spring项目结合Maven【实现读取不同的资源环境】
由于我们写功能的不能影响到线上环境的配置,所以每一次增加功能我们都要吧项目部署到测试环境上运行功能是否没问题,测试没问题后再发布线上服务器上。那么我就要每一次都需要修改active的读取配置。:主配置用于标识读取那个配置文件:测试环境配置: 线上环境配置配置如下:因为是测试项目所以配置只有端口号不同。部署环境一变那么每一次都需要修改active的读取配置。通过Maven插件来完成不同环境的切换。原创 2022-11-27 10:57:49 · 952 阅读 · 0 评论 -
SpringBoot启动调用类方法 【实现数据加载等操作】
有时候我们写SpringBoot项目时我们会在,启动后加载一些数据到内存中,或者把数据存储到Redis中,本质上我们的需求大致就是运行后调用某个类中非静态的方法.原创 2022-10-30 22:47:09 · 3474 阅读 · 0 评论 -
git提交远程后发现有隐秘数据也提交了,删除对应提交记录
当我们添加git数据到远程上,确发现我们配置文件中有秘密数据,提交以后别人就可以看到你提交的数据信息,并且就算把秘密去除在新的版本上也可以看到之前提交的数据与当前有那些不同,很显然这样的事情我们应该挽救,把之前历史提交给删除掉,保证数据不泄露,简单三步骤.查看提交的历史记录,把要删除的的日志前面把改成更改完成后,使用vim命令进行保存查看历史记录已经删除了,大功告成!原创 2022-10-28 21:54:56 · 1522 阅读 · 0 评论 -
JavaFX制作PC端Java程序~记录篇
首先看这篇文章前,我觉得你也是想制作一款属于自己的PC程序,那么我们可以使用JavaFx或者Swing并且,如果你使用的是Eclipse作为开发工具的话可以下载一个插件就可以通过拖拉按钮等方式设置Swing布局,在学校可能接触最多的就是Eclipse开发工具,我还记得当时老师教的就是Swing来开发界面,并且当时还做了款智能家居管理后台,通过usb+串口工具实现指令发出并且接收回传信息等。那为什么不使用Swing来开发呢?原创 2022-10-24 23:36:23 · 1643 阅读 · 0 评论 -
Java程序保存文件时,不允许包含以下内容【 \ \ / : * ? “ <>| 】
使用程序对网络视频进行下载,通常他们的标题可能都会含有windows文件名称不允许的符号,正是如此,一开始还没有意识到这个问题,开始爬取数据才发现程序报错了文件名、目录名或卷标语法不正确。这时我才想起来这个问题…那既然这样我们就开始修改代码使用字符串的replaceAll方法,由于用该方法给定的替换值可以是正则表达式,用于匹配的每个子字符串,替换视频中的违规符号,由于我对正则公式又不太熟,毕竟怎么多东西要学习,小脑袋瓜子记不下那么多,记了也会忘下一次什么时候可以用的上呢~偷笑。原创 2022-09-08 12:32:59 · 1479 阅读 · 0 评论 -
【手把手教你】如何获取中国天气网,获取想要城市的天气-图文并茂-分析代码
这一篇文章的定义已经不是教程篇了,教你如何通过自己的需求来完成功能,有的时候我们会遇到处理一些事情时,我们自己没办法解决,但是可以通过第三方服务解决时一般通过以下方式解决。购买第三方的服务,或者入驻开发者。自己通过分析第三方服务商接口拿到自己想要的信息我们分析不了,大概率只要钱给够,第三方都会提供对应的服务。原创 2022-09-07 12:18:06 · 3098 阅读 · 4 评论 -
猿创征文|【简单】微信公众号推送教程 ·可直接下载运行 ·超详细
前段时间,写的【全网最简单】给朋友- 制作,微信公众号推送教程,没有添加下载程序的地址,这一次为对程序进行升级了,然后以小白的视角来从新配置软件并且内置定时器,只要程序在运行那么每天8点都会推送消息给女朋友或者小伙伴们推送天气情况,也可以根据自己的需求配置模板.升级版本注意:如图中的约会指数图标在公众号那边显示就会有写问题,到时候你们添加模板的时候自己测试下。原创 2022-09-05 14:02:26 · 1601 阅读 · 34 评论 -
如何使用程序【爬取视频】,完成中秋节大制作
中秋节🎑:农历八月十五日,是我国传统的中秋节,🌕赏月和🥮吃月饼已经是中国各地过中秋节的必备习俗了,这不公司不给送,想着以我的才能做个月饼不是轻轻松松制作。首先,我需要知道做🥮月饼需要那些配方,加多少量买什么模具,啊模具随便啦,搓成一个球也不影响,只要口感棒棒的就OK·至于配方哪里找,那就去找DY视频,上面不是很多博主在教别人摆地摊挣钱,这不是轻轻松松就得到博主口中的大几千配方吗?由于版权问题省略。原创 2022-09-01 21:20:02 · 285 阅读 · 0 评论 -
猿创征文|使用Spring Data Elasticsearch操作ES
Spring Data 的另一个强大功能,是根据方法名称自动实现功能。都不需要写实现代码就可以得到想要的值,但是方法命名需要按照以下格式命名才行!详细见官方文档接下来我们来对价格区间进行查询回到接口中创建方法/*** 查询价格区间商品* @return*/测试类添加方法/*** 查询自定义数据*/@Test}运行结果虽然已经比较强大了,但是关于复杂查询(模糊、通配符、词条查询等)可能用起来就不太行了,所以后面用一些原生的查询解决添加测试代码/*** 自定义查询。...原创 2022-08-31 22:28:07 · 919 阅读 · 1 评论 -
【SpringBoot】yml配置集合,集合自定义对象,Map结构数据获取
SpringBoot的yml文件,想必大家应该都知道,里面配置了程序的配置文件,好多时候我们会在该文件配置一些我们自己的参数以键值对的方式定义,现在我打包成jar包后我们可以在jar包同级目录添加那么程序就会使用我们创建的配置信息,如果我们需要配置集合应该如何设置,并且我们还存在,集合里面是我们自定义的类又该如何获取呢?如果有个需求:现在要定时把库存信息请求到第三方平台中,这个时候我们就需要调用第三方接口回传库存信息等SpringBoot使用Scheduled定时任务时需要在注解类中添加。...原创 2022-08-28 12:14:37 · 10024 阅读 · 0 评论 -
IDEA远程连接服务器Java程序进行断点调试(对Docker中Tomcat容器,jar,Tomcat的远程调试看这篇就够了)
对于本地项目测试没问题,发布线上各种奇奇怪怪的问题接踵而来,对此开发同学心里有何感想,跟老板battle还是默默查原因,苦逼的你只能加班解决问题,也不知道是请求方导致的问题还是程序自身的原因,接下来就对Idea调试怎么调试线上程序展开讲解。......原创 2022-08-07 14:53:44 · 3578 阅读 · 4 评论 -
Spring Boot 改造成 War部署Tomcat
由于SpringBoot通常打包方式为Jar,另一种是打包成 war 包放到 Tomcat 服务器下运行,由于我写的远程调试线上服务文章中,有使用到Tomcat打包成war包部署测试,而正好我这个项目是SpringBoot的所以就想出一篇SpringBoot打包成war包的方式。......原创 2022-08-07 14:40:49 · 473 阅读 · 0 评论 -
Docker已存在的容器,怎么(添加新端口号·图文详解)
有些时候我们在创建容器时就已经想好这个容器内部端口映射那些外部端口,但是随时业务的变化我们可能需要添加新的端口信息,以供外部访问!原创 2022-08-06 12:12:54 · 5303 阅读 · 5 评论 -
通过授权微信,达到软件登录账号的效果~~未完
配置接口需要使用内网穿透,我们填写的域名或者ip都是要外网地址的,不然微信服务器没办法访问到我们的接口中,所以我们想要使用内网穿透软件来代理我们的ip,通常该类软件都是要在本机运行脚本然后会给我们一个外网域名,我们使用这个域名就可以访问我们的程序,本次使用的穿透工具。,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。百度搜索微信公众号,可以自己去试着注册一个,个人订阅号。...原创 2022-07-16 23:53:06 · 372 阅读 · 0 评论 -
获取前多少天,多少小时并且格式日期,看一遍就会
通常我们对接电商平台,调用一些接口获取数据,平台都会要求调用方传递时间进行查询,有可能是传递一段时间的时间毫秒值或者像下图传递年月日时分秒的范围数据进行查询更多时间上的前或后都可以很好的用Calendar来解决,还有更多获取方式评论区探讨。原创 2022-07-10 17:53:25 · 625 阅读 · 1 评论 -
SpringMvc返回前端存在私密信息,如何解决?
📣文章目录问题:情景复现:解决方式1.将返回的对象进行设置null2.对实体类添加注解(推荐)问题:前端获取后端用户登录平台信息,返回私密数据的问题情景复现:前端发送请求到后端接口,获取用户平台授权信息,不应该把授权信息也给返回,如果被有心之人利用,可能对用户财产造成损失的情况,所以我们只能对信息进行过滤处理解决方式解决发送1.将返回的对象进行设置null修改后端代码:可以看出前端数据已经展示null了,当是不推荐这样的写法2.对实体类添加注解(推荐)//忽略属性@J原创 2022-05-28 11:41:13 · 301 阅读 · 0 评论 -
有赞项目出现包无法解析的问题
有赞导入maven坐标报错的解决原创 2022-02-12 22:10:16 · 1599 阅读 · 0 评论 -
跨域:如何解决浏览器跨域的问题(后端实现)
目录1.为什么会产生跨域问题2.常见的跨域解决方案3.使用CORS解决跨域问题4.代码实现CORS1.为什么会产生跨域问题跨域的几种情况例如域名不同taobao.com与zhihu.com域名相同,端口不同taobao.com:80与taobao.com:8080二级域名不同a.taobao.com与b.taobao.com请求协议不同Https与Http当请求的域名和端口都一样,但是请求路径不同,不属于跨域问题!!!taobao.com/items原创 2021-12-05 13:36:25 · 2690 阅读 · 0 评论 -
SpringBoot+Mysql请求接口获取数据
目录1.在SpringBooot项目整合tkMybatis1.在SpringBooot项目整合tkMybatis本次使用的springboot项目为之前创建的demo,有需要的可以点击直达查看在pox.xml文件的dependencies标签引入依赖 <!--引入mysql驱动--> <dependency> <groupId>mysql</groupId> <arti原创 2021-12-05 12:41:10 · 1809 阅读 · 0 评论 -
前端get请求发送包含特殊符号会被转化空格
今天写程序前端发送get请求到后端传递的值明明是一样的但是后端获取到数据数据就是不相同,打印信息查看发现,加密的文字中 + 号变成了空格导致不一致的问题。既然发现问题的所在就知道怎么解决了。在传递的参数进行转换转化后是这样的并且springMvc会自动解析,成原始数据进行使用。...原创 2021-09-29 14:10:39 · 968 阅读 · 0 评论 -
Mybatis的xml中使用if/else标签
使用if标签进行查询 SELECT orderNo, adname, orderstatus FROM order_A where <if test="order!=null"> order=#{order} </if> <if test="title!=null"> and title=#{title} </if>需要注意的是:如果第一个if的order为null的话 第二值ti原创 2021-06-27 16:20:07 · 56498 阅读 · 9 评论 -
Mybatis的多数据源操作
Mybatis的多数据源操作,由于项目可能涉及到多个库的操作,那么就要设置多个数据,从网上查找可以发现有很多种方法,但是我觉得通过继承的方式实现数据源的切换。1.实现原理:扩展Spring的AbstractRoutingDataSource抽象类(该类充当了DataSource的路由中介, 能有在运行时, 根据某种key值来动态切换到真正的DataSource上。)从AbstractRoutingDataSource的源码中:public abstract class AbstractRout原创 2021-06-20 14:41:03 · 1421 阅读 · 2 评论 -
mybatis-plus 条件构造器queryWrapper学习
Mybatis-plus的官方文档:https://mp.baomidou.com/guide/一、QueryWrapper是什么从官方文档我们可以知道继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件及 LambdaQueryWrapper, 可以通过 new QueryWrapper().lambda() 方法获取Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法西面贴源码展示AbstractWrapper : 用于查询原创 2021-05-31 16:36:17 · 1817 阅读 · 1 评论