后端
文章平均质量分 60
无极小卒
这个作者很懒,什么都没留下…
展开
-
java.util.IllegalFormatConversionException: f != java.lang.String 问题解决!
java.util.IllegalFormatConversionException: f != java.lang.String 问题解决!说明:出现这个问题证明你使用format方法把String类型的字符串,进行格式化了。需要进一步处理后再进行格式化。比如做个判断进行处理。错误写法:这种情况遍历出来的date不可以是string类型的数值,比如"123.3232"这样的情况就会报这个错误。原创 2022-09-05 14:50:00 · 8064 阅读 · 0 评论 -
Java使用JNA进行读卡器的开发与封装示例
概述前段时间对读卡器进行开发,目的是开发一个工具类接口给其他同事用在项目上调用读卡器,于是呼写了一个Java调用读卡器,进行读卡,写卡的操作例子。由于使用的是厂商提供的dll库,所以选择了JNA进行开发。当然还有一种JNI方式,这种方式适合开发底层,比如封装SDK。业务开发建议使用JNA,方便使用。JNI开发比较繁琐,需要Java类,包对应C的类,包名称,以及编译等注意事项。3、读写实现,dll库文件看你自己放在什么位置了,我放在了项目根目录下lib里了,这个需要根据你自己的现实的情况而定。...原创 2022-07-25 11:55:52 · 2132 阅读 · 5 评论 -
关于Java中注解的一些知识记录
概述:最近在看一个swing项目代码,为了全面了解这个项目,计划是把项目中所有的能打开的文件都看一遍,其中看到了一个annotation的文件夹,这里存放的都是一些自定义注解类。上大学那会确实学过这块的内容,不过也忘记的差不多了。然后借这个看代码的机会重新学习了一下,写这个博客也是为了加深对这块内容的理解。Java中JDK自带常用的注解:1、@Override说明:检查该方法是否为重写方法。常见于接口实现类或者继承类。2、@Deprecated说明:废弃某个方法,如果用在某个方法之上,编原创 2022-04-19 14:45:09 · 438 阅读 · 0 评论 -
vue中echarts从左到右树的数据接口提供
1、我的需求是为一颗echarts三级树的可视化,提供json数据接口。需求如下图:2、首先咱们看一下echarts的Demo数据。两种数据结构,一种是name,children;另一种是name ,value;完整数据:https://cdn.jsdelivr.net/gh/apache/echarts-website@asf-site/examples/data/asset/data/flare.json3、根据demo数据咱们可以知道需要,封装两个实体类作为对数据的抽象表.原创 2022-03-31 15:30:28 · 1445 阅读 · 2 评论 -
java多文件打包压缩工具类实现
概述:项目中有个多文件打包下载的需求,需要实现一个多文件打包的工具类,工具类基于jdk1.8的API。我的需求:如下图工具类实现:import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.nio.charset.Charset;impo原创 2022-03-17 18:19:09 · 1245 阅读 · 0 评论 -
poi操作word在指定位置插入图片的实现
概述:在实现报告文件生成业务时,遇到了指定位置插入的需求。一般实现定位有两种方式,一种是在模板中通过书签进行定位,第二种就是通过变量占位符标记位置。书签方式效率高一些,不过我的报告并不是特别大,所以就选择了第二种定位方式。版本信息:poi 4.1.2需求截图:在表格中插入图片,$front.jpg是我的第一个图片占位符,$back.jpg是我的第二个图片占位符。函数封装实现:调用示例/************图片写入***************/File frontImg =原创 2022-03-16 17:24:32 · 6141 阅读 · 7 评论 -
poi操作word模板段落中的变量替换失败问题的解决
概述:手头上有个项目,有出具报告的需求,我拿到的报告文件是一个已经写好的真实的word的文件。实现思路是把这个真实的报告中涉及到的变动数据替换为变量(${xxxx}这种方式替换),替换好后就形成了一个真正的报告模板。写好模板后,生成报告后发现有些段落中的变量无法被替换掉。poi 文档官网:Apache POI - Javadocs有问题的报告模板部分截图:变量替换后生成的报告截图:没有处在表格中的段落变量 有的 $ 符号没了,有的 ${ 没了,真正的变量值没有成功替换。但是发现...原创 2022-03-16 15:03:43 · 2679 阅读 · 2 评论 -
Java验证码图片生成实现
背景:今天生成的验证码图片遭嫌弃了,反馈说后端生成的验证码不好看,emmm,外貌协会。好吧,那我就修改一下,把灰色风格换成花里胡哨的彩色。原来的验证码:现在的验证码:实现:生成验证码可以用这个Java库,引入坐标即可<!-- 验证码 --><dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifa原创 2022-03-11 17:11:15 · 989 阅读 · 0 评论 -
swagger3.0文件上传不显示文件域却显示string解决
背景:文件提交类型为 multipart/form-data时,swagger不显示文件上传域,显示的却是string。当你的后端接受文件类型为 MultipartFile 时会出现这种问题。原创 2022-03-03 17:48:34 · 4315 阅读 · 5 评论 -
api在线文档swagger常用的注解
背景:最近做前后端分离开发,我负责后端接口提供,自然少不了api接口文档。选择了比较容易上手的swagger。1.@Api(tags = "案例管理")解释:这个注解用在Controller类上面,tags是接口模块的名称。代码截图:效果截图:2、@ApiOperation(value = "查询案例管理列表",notes = "页码为必要参数,时间格式: 年-月-日")解释:这个注解是接口方法上使用的,value是这个接口方法的功能描述,notes属性是强调的注..原创 2022-03-03 11:22:05 · 3003 阅读 · 0 评论 -
springboot集成socket.io通过jwt-token身份认证鉴权
背景:目前手上正在开发一个xxx中心的项目,服务端需要和客户端进行即时通讯以确定客户端是否在线。认证这块通过用户登录方式使用http通道颁发token令牌,socket通道则使用这个token令牌进行建立通信链接。需求是如果令牌是非法的则不允许建立链接。开始集成:服务端1、引入socket.io坐标: <dependency> <groupId>com.corundumstudio.socketio</groupId>原创 2022-02-15 18:23:55 · 3114 阅读 · 2 评论 -
springboot集成的jwt验签失败,JWT signature does not match locally computed signature.的问题解决
问题异常提示:JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.中文意思是:JWT签名与本地计算的签名不匹配。无法断言JWT有效性,不应信任JWT有效性。解决出现这种异常的情况有:1、生成token时用的密钥和验签时用的密钥不一致。通过打断点的方式debug检查对比两个地方的密钥是否一致。2、验签时使用的令原创 2022-02-15 17:18:40 · 7583 阅读 · 3 评论 -
Java实现在Linux与windows系统下获取主板序列号,cpu序列号以及mac地址
概述:实现了获取当前操作系统名称,主板序列号,CPU序列号,mac地址的相关方法函数。应对的场景是信创设备无法正常识别我们的加密狗,对于软件license的限制,我们通过系统当前日期以及绑定对方设备进行限制。import java.io.BufferedReader;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;imp原创 2021-12-29 14:14:50 · 3385 阅读 · 0 评论 -
dom4j操作jmx文件的封装(二)
概述:实现了dom4j在指定位置进行进行追加元素。代码如下:import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;原创 2021-12-29 11:26:49 · 176 阅读 · 0 评论 -
jfreechart 折线图的实现封装,传入参数即可
概述:前段时间交付的一个数据库压力测试项目,使用的是信创的操作系统(统信操作系统以及银河麒麟v10操作系统,架构是arch64),在涉密机房无法联网所以无法下载安装相应的依赖库,导致原本用R语言写的折线图生成代码无法正常执行,所以需要通过Java后端生成折线图,将折线图提供给Java 开发的client显示。环境:jdk1.8+、eclipsejar包:fastjson-1.2.59.jar、jcommon-1.0.23.jar、jfreechart-1.0.19.jar实现代码:im.原创 2021-12-29 09:51:18 · 892 阅读 · 0 评论 -
eclipse 导入Javaweb项目以及配置tomcat
前言:好久没有用过eclipse跑Java web项目了,对于这个从上学时代就接触的免费ide稍稍的有些生疏了。记录一下跑项目的流程,也希望能帮助到刚刚入坑的同学。下面请看我的表演:1、打开eclipse这个神级ide2、在主界面的左上角会看到File这个选项,点击它然后你会看到import的菜单项。如图:3、点击import选项后,会出现导入类型选择窗口。如果不是Maven项目,通常咱们选择General -->Existing Porject into Workspace 即可。原创 2021-12-25 00:52:23 · 8431 阅读 · 0 评论 -
Java使用dom4j操作jmx文件(一)
背景:最近研究jmeter开源压力测试工具,发现它的测试计划模板是以.jmx为后缀的文件。当时看到比较懵,第一次知道有这种后缀的文件。于是乎使用notepad++打开后发现里面格式和xml文档差不多(不完全一样),然后心里稍稍有点谱了。我遇到的需求需要我通过命令方式调用jmeter测试工具,生成测试结果,并且通过Java编写的client上位机接受参数,我需要把参数拿到后放入.jmx测试计划模板中。然后通过命令执行模板生成测试结果。Jmeter我就不多讲了,有兴趣的小朋友可以去它的官网看看。传送门:Ap原创 2021-11-16 18:01:32 · 868 阅读 · 0 评论 -
Java队列实现生产者消费者进行任务排队执行
场景:在开发固件测试项目的时候,遇到一个问题。由于底层跑固件的是分析程序是单线程的,b端上层这边是多线程的,这就产生了一个需求,上层需要把测试任务进行排队,然后让底层分析程序一个一个的执行固件的测试。说明解释:CloudTask是我自定义的实体类。这些代码是从业务中剥离出来的,所以有些没用的我注释掉了。项目中用到了logger工厂,为了方便demo运行我注释掉了,改成了println()输出到控制台。队列服务类:import org.springframework.stereotype.Ser原创 2021-10-14 16:33:52 · 1848 阅读 · 0 评论 -
springboot 使用@Autowired注解,空指针问题解决,因对象注入后为null造成的空指针异常
项目中的消费者类(是个普通类),需要用到写的服务类接口,在注入服务类后,使用服务类进行数据库操作的时候报了空指针异常。注入使用如下图:空指针图位置:异常截图:解决方法:增加一个bean获取工具类,手动获取容器中的对象。import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframew.原创 2021-10-14 15:20:51 · 2286 阅读 · 7 评论 -
nacos启动失败问题解决与总结
今天下载window版的nacos,打算作为注册中心使用。从github下载release安装包后,解压运行startUp.bat脚本,发现启动不了。遇到了两个坑。第一个坑:nacos默认集群方式启动,即cluster模式,导致启动失败。解决需要在启动脚本中将MODEZ值改为单机模式standalone。第二个坑:不可以在含有中文目录的文件夹下启动nacos服务,否则会启动失败。...原创 2021-09-07 20:44:15 · 6350 阅读 · 0 评论 -
java根据ip反查地理位置的实现方法
通过ip查位置的接口有很多,最有名的要数淘宝的免费接口了。但是好像淘宝的公共接口没法用了报{"msg":"the request over max qps for user ,the accessKey=public","code":4}错误。淘宝需要申请key来调用。不过我发现了一个更好用户的接口,这个就是http://whois.pconline.com.cn/ip.jsp?ip=下面工具类就是我对这个接口的返回的参数进行的解析实现。需求是拿到省份名字即可。public class Ad原创 2020-09-10 11:25:39 · 1915 阅读 · 2 评论 -
解决Mybatis 无法更新数字0到数据库
今天遇到一个问题,用户购买的使用次数在从1减到0的时候,无法将0整个数字更新到数据库表中,这就相当于如果用户购买1次或曾经购买过使用到最后1次等价于无限次。所以看似很小的一个bug缺有可能导致巨大损失。 废话少说上图: Debug发现是走了更新接口的:接下来看数据库的表现:根源在这里:总结:做数字字段更新的时候不要使用and number!=0或者and number!=''。否则将会被mybatis拦截。这种情况大部分是因为...原创 2020-07-06 14:13:54 · 1594 阅读 · 0 评论