
开发总结
它山之石,可以攻玉
工欲善其事,必先利其器。
展开
-
Spring boot MongoDB实现自增序列
操作指令,经过测试100个并发下没有发现重复id的产生,但是还是建议使用MongoDB自己的Id生成策略,毕竟MongoDB作为非关系型数据库,如果维护一个自增序列,性能上肯定没有ObjectId好,而且分片情况下需要自己校验自增序列的唯一性,当然在某些特殊的业务场景下必须要使用自增序列的,也属于正常,如果大家有更好的方案,欢迎讨论。在某些特定的业务场景下,会需要使用自增的序列来维护数据,目前项目中因为使用MongoDB,顾记录一下如何使用MongoDB实现自增序列。的值作用本次序列,实现自增序列。原创 2023-07-04 11:19:13 · 1902 阅读 · 0 评论 -
Spring boot MongoDB 实现自定义审计字段
是Spring Data提供的一个接口,用于提供当前执行数据库操作的"审计员"的信息。"审计员"可以是当前操作的用户、系统的默认用户或其他相关信息,用于记录和跟踪数据的变更历史。,只要在保存文档之前将数据拦截处理就可以实现字段填充。除了上面这种方式,还可以通过实现。的作用是为实体类中标记了。原创 2023-07-03 18:22:43 · 1468 阅读 · 1 评论 -
Spring Data MongoDB实现@DBRef级联存储
使用@DBRef进行级联存储的方式就是通过继承`AbstractMongoEventListener`并重写`onBeforeConvert`方法在保存文档之前先保存子对象,就可以实现级联存储,需要注意,使用当前配置会全局生效,如果想要自定义级联存储可以使用自定义注解实现,扫描指定注解后进行级联存储。原创 2023-07-03 16:44:16 · 1486 阅读 · 0 评论 -
Springboot MongoDB封装通用Servcie
封装的通用Service,也可以使用之前文章自定义Repository来实现,如果同学们有更好的方案欢迎讨论。构建通用Service的实现,此处基于。实现,当然也可以使用之前文档自定义通过。构建通用Service,原创 2023-07-03 15:51:13 · 1201 阅读 · 0 评论 -
Git分支合并(merge)时忽略某个文件或者目录
Git分支合并(merge)时忽略某个文件或者目录前言 最近使用VUE开发构建了项目,因为打包发布引发了一场小意外,就是不同分支的dist文件夹合并时发生冲突,而且有时先打包后合并的分支,导致两个分支实际发布的是同一套代码,导致乌龙事件的发生,虽然很快找到了问题,但是还是有些尴尬,本文主要记录如何在合并分支时忽略某些文件或者目录。操作步骤1. 定义虚拟的合并策略git config --global merge.ours.driver true其他配置可参考 Git配置2. 编辑规原创 2022-04-21 10:50:29 · 6366 阅读 · 0 评论 -
Ucloud之us3不同区域文件同步
us3文件同步原创 2022-04-13 16:49:54 · 278 阅读 · 0 评论 -
PicGo + Gitee实现markdown图床
PicGo + Gitee实现markdown图床原创 2022-02-22 18:28:56 · 515 阅读 · 2 评论 -
Git 常用命令
Git 标签相关打标签git tag -a <tagname> -m "<tagdesc>"删除标签git tag -d <tagname>删除远程标签git push origin --delete <tagname>推送指定标签到远程git push origin <tagname>推送所有标签到远程git push origin --tags取消合并git merge --abort撤销提交- git原创 2021-11-19 15:15:53 · 119 阅读 · 0 评论 -
spring boot 、vue-simple-uploader 实现分片、断点上传
前言 公司最新有个需求需要上传大文件,需要支持分片及断点上传,需要有上传、暂停、取消等功能,且支持关闭浏览器后下次打开继续上传。本片文章记录我使用vue-simple-uploader的过程。环境vue 2.6.10vue-simple-upload 0.7.6springboot 2.5.xmysql5.xmybatis plus 3.4.1vue-simple-upload 是什么?vue-simple-uploader是基于 simple-uploader.js 封装的vue原创 2021-11-19 15:00:54 · 2110 阅读 · 0 评论 -
shiro使用爬坑记录之shiro-redis
shiro使用爬坑记录之shiro-redis前言 权限认证使用的一直都是shiro,因为项目重构导致之前的认证不可用,故本片文章记录排错过程。环境SpringBoot 2.1.3.RELEASEMybatis-plus 3.1.2Shiro 1.4.0Jwt 3.7.0shiro-redis 3.1.0错误信息class java.lang.String must has getter for field: authCacheKey or id We need a field原创 2021-10-14 12:39:12 · 440 阅读 · 0 评论 -
前端使用ASE加解密(AES/CBC/NoPadding)
前端使用ASE加解密(AES/CBC/NoPadding)前言最新因需求变动,原有Android系统已经不满足现有的需求,需开发PC端的客户端,对应的数据加解密也不能公用同一个类库(后端服务使用的JAVA),现有架构使用的是nodejs,所以记录以下加解密的过程。环境nodejs v14.17.5vue3electron 13.0.0安装加解密依赖yarnyarn add crypto-jsnpmnpm install crypto-js --save-dev加解密工具类A原创 2021-09-08 16:52:11 · 3857 阅读 · 9 评论 -
[ 八爪鱼使用经验] 爬取简单列表数据
[ 八爪鱼使用经验] 爬取简单列表数据前言项目中经常会使用到一些三方的数据做研究(单纯的制作研究),所以经常会爬取一些三方数据,除非业务性特别强烈的场景,一般数据直接使用三方爬取软件即可,本片文章记录了本人使用八爪鱼爬取数据的基本过程,记录总结。过程新建自定义任务新建任务填写基本爬取信息选中要爬取的内容我们以爬取时光网影片演员列表为例,首先选中(点击)演员名称,然后点击右侧选中全部调整需要爬取的数据我们案例爬取的是演员名称(1),角色名称(2),演员照片(3)原创 2021-08-17 10:57:04 · 2528 阅读 · 0 评论 -
Java使用BigDecimal 比较大小
前言最近使用BigDicmal的情景比较多,经常会判断数值大小,故记录一下日常使用的方法。代码public class BigDecimalCompare { private BigDecimalCompare() { } /** * a是否等于 b * * @param a 数字a * @param b 数字b * @return 结果 */ public static boolean eq(BigDeci原创 2021-08-06 15:32:21 · 1658 阅读 · 0 评论 -
使用@PropertySource动态加载不同环境的配置文件
前言自定义配置文件是我们日常开发中经常会使用的资源,而spring只提供了类似application-* 的这中匹配方式,并不支持我们自定义的配置文件名称,例如:customize-dev.properties,但是spring提供了一个注解可以方便加载我们的自定义配置文件,它就是@PropertySource。自定义配置文件customize-dev.propertiescustomize.name=dev使用@PropertySource加载配置文件import lombok.Data;原创 2021-07-26 17:29:54 · 2350 阅读 · 0 评论 -
[经验] 获取压缩包文件名列表
[经验] 获取压缩包文件名列表前言最近开发一个校园系统,需要从三方导入学生数据,但是没有学生头像,需手动上传学生压缩包,将图片存储至服务器内部,配置静态资源访问路径,供网站使用,记录一下使用过程。环境spring boot 2.3.5.RELEASEjava 8hutool 5.0.4zip4j 1.3.2思路递归文件路径获取文件名及文件路径1、将文件保存至本地2、解压文件3、递归文件目录,采集文件名代码逻辑UnzipUtil 工具类import cn.hutool.cor原创 2021-07-26 15:51:04 · 1877 阅读 · 0 评论