- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 springboot+vue简单使用websokcet以及使用java作为client连接
项目最新开发消息跟踪,第一个版本是采用websocket实时推送消息到前台浏览器,简单使用样例记录。
2023-07-13 11:43:04
379
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
694
原创 Java超大函数代码重构案例分析——使用反射、函数式接口Function、建造者模式Builder重构
这里存在的问题,eto这个方法名太随意,不能准确表达方法意思,同时由于entity字段较多,需要将其中29个字段转换,直接new对象,虽然很好理解,但是不够优雅,造成超大函数,进行了第一次重构。项目中某一个函数被代码检查工具扫出来137行,属于超大函数(大于50行的函数),经过两次重构达到自己认为的理想状态,使用到了反射,函数式接口,以及建造者模式来完成。下面案例介绍,涉及项目代码,部分简化,仅供给大家参考思想,如有更好的重构方法,欢迎留言。
2023-03-04 22:14:56
590
原创 使用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
8107
1
原创 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
2118
2
原创 力扣LeetCode15_三数之和_双指针解法
一开始用的三重for循环暴力求解,直接超时,318后用例过了314个…最后还是看了题解,采用双指针
2022-06-30 16:08:48
155
原创 重构--Java重构5式-抽替组改移-Idea重构快捷键操作说明
1 抽-面向过程1.1 代码段->抽为方法Refactor | Extract|Method 2 替-inline2.1 重复代码段->属性或变量(inline逆操作)Refactor | Introduce Field -> 提取为类属性Refactor | Extract|variabel -> 提取方法中的变量将重复的代码段提取,用某个变量或者属性字段来表示。+私钥(KEY)转换为jks证书的方法
先说原因是什么,之前百度,谷歌,优快云上也搜过,搜到最多的答案是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
5575
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
1642
原创 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
1235
原创 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
2957
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
3703
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
6600
原创 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
1098
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
2706
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人