自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 java监控微信公众号关注事件

监控微信公众号关注事件

2024-04-15 10:59:41 767 3

原创 mysql交换两列数据

mysql 交换两列的值的sql语句

2024-04-15 09:37:46 194 1

原创 Java导出多个Excel放在压缩包里

之前做过一个导出多个Excel放在压缩包里的需求

2024-03-18 15:47:41 473 1

原创 IndexedDB使用案例

IndexedDB使用案例

2024-03-15 15:20:28 448 1

原创 easyExcel导出参数表头

easyExcel导出参数表头

2024-03-08 14:46:20 422 1

原创 -bash: ./start.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录

中存在不可见的特殊字符,具体是 "^M"(也被称为 Carriage Return,CR)。这通常是由于在 Windows 系统中编写的文件在 Linux 或者 Unix 系统中执行时,文件格式不兼容所导致的。写Linux启动脚本遇到的一个坑。

2023-12-22 11:39:50 331

原创 MySQL部分函数

HAVING 在 GROUP BY 之后,可以使用分组字段和分组中的计算函数,对分组的结果集进行筛选,这个功能是 WHERE 无法完成的。这样,我们就既利用了 WHERE 条件的高效快速,又发挥了 HAVING 可以使用包含分组统计函数的查询条件的优点。因为 WHERE 可以先筛选,用一个筛选后的较小数据集和关联表进行连接,这样占用的资源比较少,执行效率也比较高。HAVING 则需要先把结果集准备好,也就是用未被筛选的数据集进行关联,然后对这个大的数据集进行筛选,这样占用的资源就比较多,执行效率也较低。

2023-11-30 14:19:38 82 1

原创 记一个RedisConfig坑

连接URI和密码正确且Redis服务正常运行,但是调用 redisTemplate 时报错:Error in execution;nested exception is io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required.用自动注入的方式注入LettuceConnectionFactory也可以正常运行。百思不得其姐,遂在RedisConfig手动将密码set进去,则可正常运行。

2023-11-03 16:03:16 195

原创 Vue 报错error:0308010C:digital envelope routines::unsupported

package.json增加配置。

2023-10-30 09:43:48 82

原创 Nignx跳转报404

服务部署成功,但是每次进入登录页面都报一下错误,需要重新刷新才可以,推测试Nginx跳转出问题。后来在Nginx配置文件加了这两行再重启就可以了。

2023-10-30 09:42:46 229

原创 springboot循环依赖

的策略,将尚未完全初始化的Bean对象暴露给其他需要依赖的Bean对象,以便后者能够完成初始化。循环依赖是指两个或多个Bean互相依赖的情况,在Spring容器初始化时会出现。对于循环依赖,Spring在初始化过程中采用了“

2023-10-30 09:40:25 51

原创 @Order 一个使用场景 与基于spring应用Ordered接口

某个利用Redis incr自增编码,服务迁移,Redis数据没有维护好,导致自增的编码丢失,下一次自增又会从头开始,这时可以使用@Order注解在服务启动时查询数据库,并把Redis的值赋上,完成初始化。@order注解是spring-core包下的一个注解,@Order的作用是定义Spring IOC容器中Bean的执行顺序的优先级(这里的顺序也可以理解为存放到容器中的先后顺序)。

2023-10-30 09:38:48 154

原创 服务临时文件目录不存在

在linux系统中,springboot应用服务再启动(java -jar 命令启动服务)的时候,会在操作系统的/tmp目录下生成一个tomcat*的文件目录,上传的文件先要转换成临时文件保存在这个文件夹下面。临时目录长时间(有文说是十天)没有使用会被系统自动删除,临时目录不存在再上传文件上去就会报错。遇到这种情况可以重启服务重新生成临时文件目录,这种方式长时间不用同样会遇到上面的问题。推荐为服务指定临时文件目录并创建对应文件夹,再重启服务,这样就可以规避上面的问题。

2023-10-30 09:37:37 35

原创 虚拟机重置root用户密码

在打开虚拟机 在出现下图界面的时候按 e 进入管理界面 e要快速按 不然就会直接进入虚拟机。最后touch /.autorelabel 验证,如果没反应则修改成功。New password: 的时候就输入自己的root 新密码,Retype new password: 这里再输一次密码。然后找到 UTF-8 在后面添加 rd.break。这里对密码会有一些限制 比如长度什么的。

2023-10-30 09:34:55 952

原创 EasyExcel导入导出多sheet页

【代码】EasyExcel导入导出多sheet页。

2023-10-30 09:30:34 470 2

原创 LocalDateTime获取当天最小、最大时间

【代码】LocalDateTime获取当天最小、最大时间。

2023-10-30 09:27:13 1286

原创 allEntries = true 慎用

在@CacheEvic的实现这里有个if (operation.isCacheWide()),我们可以找到setCacheWide方法,cacheWide就是@CacheEvict中allEntries属性的值。在@CacheEvict清除缓存的的注解中有一个allEntries属性,默认值未false,当指定allEntries的值为true时,会忽略指定key,清除value对应缓存中所有元素。(应该是带上星号会遍历全表)如果你用到的缓存数据库是Redis,需要根据实际情况谨慎使用。

2023-10-30 09:24:44 938

原创 从redis取值报错:Reading from a byte array threw an IOException (should never happen).

百度之后才了解是反序列化问题,参考了一个解决方案:往redis存的时候,统一用json格式化成String,再存入redis,取的时候使用jsonObject再转成对象使用。亲测此方法是可行的。

2023-10-26 11:16:39 1877 1

原创 @Transactional一些注意点

在并发情况下,如果锁已经被占,有其他线程在等待锁,这时候其他线程的事务已经通过getById获取过数据,等进入锁后再次getById获取到的a.getStatus()仍让是false,此时便会重复执行/**其他业务逻辑*/中的内容,有一些业务场景就会因此造成脏数据。当一个带有@Transactional注解的方法被调用时,Spring会检查当前线程的ThreadLocal中是否已经存在一个活动的事务。如果不存在,则创建一个新的事务并开启,如果已经存在一个事务中,则加入到该事务中。

2023-09-20 16:32:33 120 1

原创 敏感字段页面加密

网页对敏感字段进行加密显示,这里可以由后台返回的加密数据前端直接渲染。工具包很强大,还有其他的常见类型字段的加密方法。这里可以使用hutool的工具包进行加密。

2023-08-25 17:16:29 62 1

空空如也

空空如也

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

TA关注的人

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