自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 springboot+vue简单使用websokcet以及使用java作为client连接

项目最新开发消息跟踪,第一个版本是采用websocket实时推送消息到前台浏览器,简单使用样例记录。

2023-07-13 11:43:04 319 1

原创 vue2升级到vue3,vue-i18n升级为9.x后国际化插值表达式在开发环境有效,生产环境无效解决

找到了github上的issue,修改vite相关配置: https://github.com/intlify/vue-i18n-next/issues/1059。

2023-05-13 22:19:46 549

原创 Java超大函数代码重构案例分析——使用反射、函数式接口Function、建造者模式Builder重构

这里存在的问题,eto这个方法名太随意,不能准确表达方法意思,同时由于entity字段较多,需要将其中29个字段转换,直接new对象,虽然很好理解,但是不够优雅,造成超大函数,进行了第一次重构。项目中某一个函数被代码检查工具扫出来137行,属于超大函数(大于50行的函数),经过两次重构达到自己认为的理想状态,使用到了反射,函数式接口,以及建造者模式来完成。下面案例介绍,涉及项目代码,部分简化,仅供给大家参考思想,如有更好的重构方法,欢迎留言。

2023-03-04 22:14:56 489

原创 使用IDEA DEBUG调试vue前端js代码,不需要安装谷歌插件

如果要debug调试js代码,不需要安装任何插件,使用IDEA自带的插件,点击Edit Configuration,弹出对话框后,点击+号,再选择JavaScript Debug,URL输入项目调试地址,浏览器建议选择默认的Chrome,配置完成,然后启动会弹出Chrome页面,点击添加断点。就可以愉快地调试了,单步调试等快捷键操作还是IDEA的快捷键,不用再与浏览器控制台的快捷键搞混了。项目属于vue2+element-ui,首先推荐安装vue.js和element插件。

2022-11-07 17:12:58 7076

原创 mybatis-plus插入数据失败,原因是使用数据库关键字作为列名导致插入失败

org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the r

2022-09-21 10:09:36 2007 2

原创 力扣LeetCode15_三数之和_双指针解法

一开始用的三重for循环暴力求解,直接超时,318后用例过了314个…最后还是看了题解,采用双指针

2022-06-30 16:08:48 137

原创 LeetCode25力扣_K 个一组翻转链表

链表反转

2022-06-30 09:52:30 184

原创 重构--Java重构5式-抽替组改移-Idea重构快捷键操作说明

1 抽-面向过程1.1 代码段->抽为方法Refactor | Extract|Method 2 替-inline2.1 重复代码段->属性或变量(inline逆操作)Refactor | Introduce Field -> 提取为类属性Refactor | Extract|variabel -> 提取方法中的变量将重复的代码段提取,用某个变量或者属性字段来表示。![在这里插入图片描述](https://img-blog.csdnimg.cn/388b38e9

2022-06-28 19:23:04 1414

原创 Tomcat9.0.39引入布隆过滤器针对大量jar包启动项目加快启动速度

布隆过滤器可以参考:https://zhuanlan.zhihu.com/p/433689454项目中tomcat7升级到tomcat9后,启动时长由230秒变为430秒,需要优化启动时长,走了很多弯路,其中一个优化点最终在Tomcat官网查到了9.0.39合入了布隆过滤器:https://tomcat.apache.org/tomcat-9.0-doc/changelog.htmlhttps://tomcat.apache.org/tomcat-9.0-doc/config/context.html

2022-06-28 15:11:17 371

原创 Tomcat启动Alias name [null] does not identify a key entry报错分析,涉及从公钥(CER)+私钥(KEY)转换为jks证书的方法

先说原因是什么,之前百度,谷歌,CSDN上也搜过,搜到最多的答案是server.xml中缺少指定keyAlias=xxx,但是试了以后会发现还是报这个错,只是报错由Alias name [null] does not identify a key entry变成了Alias name [xxx] does not identify a key entry。后来从公司内网看到一个帖子才知道,原来是因为我使用keytool生成的证书有问题,里面只存在公钥,而没有私钥。我是直接使用下面命令直接将cer证书转为j

2022-04-07 21:50:16 4913 2

原创 目前我在用的ipv4地址和ipv6地址的正则表达式

IPV4:^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$IPV6标准:?:[0-9a-fA-F]{1,4}😃{7}[0-9a-fA-F]{1,4}$IPV6压缩:^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}))?):😦(?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}))?)$IPV6标准和压缩,简单合起来:(^(?:[0-9a

2022-02-23 15:02:01 1598

原创 Java引入H2 SQL数据库,使用SpringbootTest和TestRestTemplate实现开发者测试

最近项目组需要做开发者测试,了解了MockMvc和TestRestTemplate,最终选择了TestRestTemplate,具体实现如下。1.pom依赖test相关jar包<!-- test start--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId&

2021-12-19 21:12:07 1159

原创 Mybatis-plus通过反射实现动态排序不同字段功能

最近在做项目,使用到了Mybatis-plus,页面上需要对某些字段进行排序,原来是固定好哪些字段需要排序,然后在Controller里接收参数,如下代码所示。 @LogOperation(name = "query urpOfi", objType = "Config") @GetMapping public ResponseEntity<DtoResponse<OfiDto>> queryOfi( @RequestParam(name =

2021-12-19 20:15:07 2785 2

原创 记一次Springboot测试配置log4j2不打印日志问题

使用maven依赖spring-boot-starter-log4j2一定要在Springboot启动类所在的包。下图是我的项目结构uap-cc为最顶层父工程,uap-cc-boot和uap-cc-core为子工程,而boot依赖core,core里面要写单元测试用例,不能循环依赖boot,所以单独在test目录下写了一个TestApplication,结果就是单独启动TestApplication或者该包下的Test类,log4j2都不能在控制台正常打印日志,最后排查发现在uap-boot下再加一下sp

2021-12-06 10:31:17 3420 1

原创 java反射获取get/set方法

public class ReflectUtils { private ReflectUtils(){} /** * java反射bean的get方法 * * @param objectClass objectClass * @param fieldName fieldName * @return Method * @throws RuntimeException */ public static Method

2021-11-05 09:48:20 6373

原创 Java实现鉴权失败达到一定次数锁定IP并释放到期IP

背景在Web系统或一些Client端登录时,如果用户输错用户名或密码达到一定次数,一般会锁定账号或IP,本文只对IP锁定一段时间,不依赖于Redis这类中间件,使用纯Java实现锁定IP的功能,直接上代码。代码篇LockBean用于封装锁定IP信息,特意添加了isLockLogged,防止日志打印频繁public class LockBean { //锁定时间 private LocalDateTime lockDateTime; //失败次数 private At

2021-01-25 10:50:10 994 3

原创 Java通过Mysql数据库实现指定格式序列,实现业务编号每天重新从00001开始

做新系统开始,业务要求实现编号每天重置为1,例如:今天是2020年6月15日,贷款合同的编号需要为2020DKHT00001,2020DKHT00002。。依次递增,第二天再重新从1开始,即2020061600001,2020061600002。。同事写好了,我直接给搬运过来,供大家做个参考。数据库表结构如下图所示//序列实体public class SequenceEntity { //序列名称 private String seqName; /...

2020-06-15 15:29:03 2580 2

java通过Mysql实现类似oracle序列功能序列.rar

java通过Mysql实现类似oracle序列功能,

2020-06-15

空空如也

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

TA关注的人

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