自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (3)
  • 收藏
  • 关注

原创 Maven 处理依赖冲突

Maven处理依赖冲突的规则主要包括路径优先原则和第一声明优先原则。路径优先原则指Maven会选择路径最短的依赖版本,而第一声明优先原则指当路径长度相同时,Maven会优先选择在pom.xml文件中先声明的依赖版本。此外,子模块可以通过直接声明依赖版本来覆盖父模块的版本。如果自动处理导致引入低版本依赖,可以通过exclusions或optional手动解决。需要注意的是,如果高版本不兼容低版本,可能会导致编译失败或类找不到异常。最后,可以使用IDEA插件Maven Helper来快速查看和解决依赖冲突。

2025-05-09 11:27:37 1188

原创 Maven 编译指定模版

如果指定的模块依赖于其他模块,Maven 会自动构建这些依赖模块。基于SpringCloud 做的微服务项目,很多都是依赖公共模块下的包,并且多模板都是在一个项目下的。在maven打包时,我们选择指定的模块及依赖的模块进行打包,这样及可以减少打包的时间,也能确保完整性。这样太耗时间了,把流水线的时间拖的太长了。这个参数可以让你只构建特定的模块,而不是整个项目。是模块的路径,通常是一个相对路径或模块名称。:表示只构建指定的模块(module)。一起使用,确保依赖的模块也被正确构建。

2025-04-15 10:07:07 402

原创 SpringDataJpa-字段加解密存储

但是使用原生SQL的时候用加密字段进行查询的化,是不会使用类型转换器的。所以我这里增加了一个注解,来拦截标有该注解的参数,然后将参数的值进行修改,然后再进行查询。这里实现的化使用的是。Spring 提供了 AttributeConverter 用来将实体属性与数据库字段之间的逻辑转换。但是我们这边需要改变类型,只需要改变类型的值。遇到一个需求,对数据库中的某些字段进行加密存储,但是在各个服务流转中,需要是解密状态的。框架使用的是JPA。但是不能修改参数的值,所以这里使用@Around。

2024-12-17 17:11:58 568

原创 SpringAop-拦截参数带注解的方法

拦截方法中参数类型为String且带有@Crypto拦截方法中参数上带有@Crypto:零个或者多个:通配符。

2024-12-17 15:58:26 415

原创 Jmeter 如何导入证书并调用https请求

Jmeter 如何导入证书并调用https请求

2024-11-19 23:47:42 809

原创 1024

1024 我又来了。

2024-10-24 18:02:00 898

原创 了解 WebSocket

用于定义 WebSocket 端点,设置 websocket 地址,设置端点的配置。

2024-10-24 17:59:32 1762

原创 postman接口关联

当我们想在另外一个接口的返回值,作为当前接口的参数时,可以通过 postman 的 scripts 来实现。

2024-09-14 16:02:49 691

原创 Java volatile

作用:保证变量的可见性,有序性(禁止指令重排序)。不保证原子性。

2024-09-14 16:01:37 500

原创 windows安装并配置gradle

Windows安装及配置gradle。可以帮我们更快的下载依赖。下载这种二进制文件即可。

2024-08-21 18:28:32 481

原创 ConfigurationProperties使用

@ConfigurationProperties是的一个注解 用于将配置文件,环境变量中的值映射到一个Java对象的属性上。

2024-08-21 18:27:38 484

原创 Spring Data REST

Spring-Data-Rest 为我们提供许多事件在持久化操作时进行扩展:新增模型数据前:新增模型数据后:更新模型数据前:更新模型数据后:多表关联保存的时候前 例如:OneToOne 等:多表关联保存的时候后 例如:OneToOne 等:删除模型数据前:删除模型数据后/*** 通过 user/search/findTopByAge 来访问* @return*//*** 通过 user/search/findTopBySex 来访问* 可以通过@Param 来指定参数名。

2024-08-16 10:21:11 677

原创 MySQL查询居然不区分大小写

MySQL查询居然不区分大小写!!!。提高灵活性:用户在输入数据时可能不会注意大小写,不区分大小写的查询可以更好地匹配用户的输入,提供更灵活的搜索体验。增强用户体验:对于用户来说,不区分大小写的查询可以减少输入错误带来的搜索问题,用户不需要记住确切的大小写格式。避免重复:不区分大小写的查询可以避免因大小写差异而产生的数据重复问题,确保数据库中的数据唯一性。

2024-08-16 10:17:41 687

原创 SpringDataJpa源码分析

我们在定义Repository的时候通常定义的时一个接口,而并没有去实现这个接口,那么Jpa是如何让开发者无需自己实现接口就可以使用Repository去操作数据库?!!!

2024-08-11 14:42:37 538

原创 Jpa-多表关联-OneToMany与ManyToOne

方法时则会出现更奇怪的问题,只插入主表,没有插入子表,但是对子表进行了更新操作。默认是不会删除关联表的行数据( 注意这里不会将关联表的行数据给删除,需要删除的话则需要开启。当进行更新操作时,将清空主表的关联数据或修改主表的关联数据时,会删除关联的子表数据。当对原有的子表集合进行操作时,会先将原有子表中所有与当前表有关联数据行的关联字段修改为。先查询是否存在主表及子表信息,更新完主表后,对子表进行插入,插入完成后,查询主表与子表的信息,将子表中所有存在关系行的关联字段改为。,并删除子表信息,再删除主表信息。

2024-08-06 23:47:41 1557

原创 Jpa-多表关联-OneToOne

JPA多表关联。默认是不会删除关联表的行数据( 注意这里不会将关联表的行数据给删除,需要删除的话则需要开启。方法用于重新加载实体的状态,从数据库中获取最新的数据,并覆盖当前持久化上下文中的实体状态。只有删除(DELETE)操作时进行级联操作,删除主表的同时会把子表也删除。但是查询的时候是会进行级联查询的。,而到我们获取关联表信息的时候再去对关联表进行查询,这里删除,更新,不会对关联进行操作。)操作时进行级联操作,更新时如果将关联属性修改为。级联查询后,对主表进行删除,再后关联表进

2024-08-06 00:51:08 1038

原创 线程池-拒绝策略

当 Java 提供的这四个拒绝策略你觉得不好用时,你可以自己定义这个拒绝策略来处理。也就是提供接口的实现即可。10,60,// 使用当发生拒绝策略的时候使用forkJoinPool这个线程来执行任务@Override10 个被执行,10 个被执行。当然这里不建议使用这种方式来处理,当大量任务会被执行拒绝策略的时候,这会导致的线程池无线扩充,最终导致内存异常等问题。这里只是举例慎用!!!!当然这里不建议使用这种方式来处理,当大量任务会被执行拒绝策略的时候,这会导致。

2024-07-14 01:12:22 1461

原创 Windows 默认以管理员运行打开CMD

win+r 默认以管理员打开运行CMD。需求:在运行页面输入`cmd` 希望是可以直接通过管理员方式打开的。希望是可以直接通过管理员方式打开的。(注意家庭版是没有这个的)需求:在运行页面输入。

2024-07-13 23:19:45 856

原创 安装WindowsTerminal并设置默认以管理员身份运行启动终端

`Microsoft Store`打不开,且`WindowsTerminal`没有默认以管理员身份运行。下载msixbundle类型的安装包:https://github.com/microsoft/terminal/releases。打开终端勾选以管理员身份运行此配置文件即可。没有默认以管理员身份运行。进入下载文件的路径。

2024-07-12 18:23:17 1555

原创 单例模式实现方式

单例模式(Singleton Pattern)的主要目的是确保一个类只有一个实例,并提供一个全局访问点来访问该实例。在 Java 中,实现单例模式的方式有几种常见的方式。

2024-06-29 20:15:48 284

原创 判断线程/任务是否全部执行完成

判断线程/任务是否全部执行完成,这里所有的都没有指定线程池,所有他这里是使用的。最好不要使用内置的这个线程池,可以自定义一个,然后在创建的时候进行指定。我感觉方案3好用一些。但是如果不放心使用异步任务的话,直接使用方案1即可。都可以实现功能。

2024-01-22 16:37:21 1331 1

原创 logback排除指定包类方法的日志

【代码】logback排除指定包类方法的日志。

2024-01-21 22:37:27 1696

原创 SpringBoot 自定义Banner

SpringBoot 自定义Banner,内置变量spring-boot.version:SpringBoot的版本号spring-boot.formatted-version:带v的版本号[外链图片转存中…(img-kzLyUrAu-1705820973870)]直接在类路径下创建banner.txt来替换SpringBoot默认的输出最为方便,想要美化的话,可以通过一些工具来进行生成。

2024-01-21 15:09:56 1195

原创 Tomcat配置项目直接通过http://ip:port访问

Tomcat配置项目直接通过http://ip:port访问,解决项目重复加载两次的问题

2024-01-20 20:50:43 1223

原创 Oracle行转列函数,列转行函数

Oracle 可以通过PIVOT,UNPIVOT,分解一行里面的值为多个列,及来合并多个列为一行。行传列函数,及列转行函数

2024-01-18 18:18:18 4918

原创 非maven项目快速转换为maven项目

`maven-compiler-plugin`:解决在编译过程中识别不到第三方依赖的问题 `maven-war-plugin`:解决在部署后可以让第三方包被tomcat识别 使用这两个插件让我们可以无需一个一个的添加`denpendency`,之后的有再补充的`jar`包,可以通过`denpendency`交给`maven`来管理。

2024-01-15 14:02:26 1272

原创 SpringBoot默认日志输出格式

【代码】logback.xml SpringBoot的日志输出格式。

2024-01-15 00:06:57 732

原创 pom.xml中resouces标签

resources是maven在编译项目时将资源文件或者额外的文件赋值到输出目录中。通常包括配置文件,属性文件,模板文件,jar包等。resouces中可以包含resouce。也就是可以自定义的配置多个资源配置。

2024-01-14 21:18:34 1664

原创 解决Unexpected record signature 0X9&&maven 资源过滤

我们有个需求是根据`excel`模版导出一个`excel`表。我们的项目是SpringBoot,所以理所当然的把这个模版文件放到了,`resources`文件夹中。但是在导出文件的时候却遇到了`invalid code lengths set`及`Unexpected record signature: 0X9`的错误。maven 资源过滤

2024-01-13 23:36:03 2728

原创 maven配置多个远程仓库

单个库的话就使用mirrors即可,配置方便,多个库正常情况下只有一个库生效。多个库的话就使用profiles即可,配置多个profile,多个profile的加载顺序是从下往上,依次加载。并且需要配置激活对应的仓库配置。

2024-01-02 23:04:14 1890 1

原创 解决idea 通过build project 手动触发热部署失败

运行项目的过程中,并且保证(不添加方法,不修改方法名)一定的规则的情况下,可以通过。这里修改了方法名后,他就会提示热部署交换文件失败了,需要手动重启项目。在只修改业务逻辑的情况下,能正常交换成功。来手动热部署项目,也就是会交换。

2023-12-07 22:15:47 1021

原创 Spring三级缓存处理循环依赖的过程

当Spring遇到循坏依赖时,它通过使用三级缓存以及提前暴露不完整的对象来解决问题。举例:在A实例化完成后,Spring会将他放入到三级缓存中。A此时并没有进行初始化,当A进行属性赋值的时候,如果扫描到A对象依赖B对象的话,则又会去实例化B对象,然后再把B对象放入到三级缓存中,当B进行属性赋值的时候,发现需要依赖A对象,那么这个时候就出现了循环依赖的问题了。然后从三级缓存中取出A对象,这里的A对象被包装成了一个的一个lambda。

2023-12-01 00:01:37 1162

原创 Java使用Redis来实现分布式锁

在单节点服务中,我们可以使用来保证同一时间内只允许一个线程执行限定的代码块。但是如果我们是多节点服务呢,因为是针对服务内部的,其他服务是无法受到他的干预的。那么如何保证多个节点在同一时间内只允许一个节点中的一个线程去访问这个代码块呢?使用分布式锁!!!本文使用Redisson来操作Redis并实现分布式锁。

2023-11-21 18:09:52 626

原创 Spring bean标签

application(web扩展的):不同的web Application会创建,不同bean,webApplication关闭后销毁bean。constructor-arg:用于构造函数注入,或者是factory-bean有参数的时候等。session(web扩展的):不同的session会创建不同bean,session结束后销毁bean。request(web扩展的):每一个请求都会去创建不同bean,请求结束后销毁bean。可以重写bean中的一个方法,把方法的返回值替换成。

2023-11-13 22:04:09 485

原创 MySQL EXPLAIN查看执行计划

MySQL 执⾏计划是 MySQL 查询优化器分析 SQL 查询时⽣成的⼀份详细计划,包括表如何连 接、是否⾛索引、表扫描⾏数等。通过这份执⾏计划,我们可以分析这条 SQL 查询中存在的 问题(如是否出现全表扫描),从⽽进⾏针对优化。我们可以通过EXPLAIN来查询我们SQL的执行计划。

2023-11-05 23:26:49 943

原创 MySQL WITH AS及递归查询

WITH是 SQL 中的一个关键字,用于创建临时表达式(也称为 Common Table Expression,CTE),它允许你在一个查询中临时定义一个表达式,然后在后续的查询中引用它。理解:当我们使用WITH AS他会帮我们创建一个临时的表,。当我们使用这个临时表二次以上时,他的效率是会比我们原本写两个一模一样的子查询是要搞的。

2023-10-29 23:59:44 927

原创 在行首,行尾添加文本,替换文本中的空格、制表符等

在行首,行尾添加文本,替换文本中的空格、制表符等,列模式

2023-10-25 00:09:12 786

原创 Oracle 去掉字符串中的空格、制表符、换行符、回车符等

Oracle 去掉字符串中的空格、制表符、换行符、回车符等

2023-10-11 11:43:21 4419

原创 MySQL索引

索引可以理解为是一种有序的数据结构,它允许数据库系统快速的找到表中的特定行。类似与字典或者书籍的目录,可以快速的定位到需要的信息。

2023-10-10 14:28:20 98

原创 MySQL与Oracle的分页

当我们通过SQL去查询一个结果集的时候,并不需要查看所有行,可能只是查看前几行,或者中间的几行。则需要像MySQL的limit或Oracle的ROWNUM与FETCH NEXT来实现。

2023-09-16 19:30:25 697

GoogleChromePortable64_86.0.4240.183_online.paf.exe

GoogleChromePortable64_86.0.4240.183_online.paf.exe

2021-07-21

intellij-rainbow-brackets-5.35.zip

idea 彩色括号 plusins

2021-07-21

CodeGlance-1.5.4.zip

idea 缩略图 plugins

2021-07-21

空空如也

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

TA关注的人

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