自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis setIfAbsent返回null的问题

今天在写业务代码的时候,用到了StringRedisTemplate中redisTemplate.opsForValue().setIfAbsent()中并不是我期望的true或者false而是返回了null,起初我还以为是因为Returns:null when used in pipeline / transaction.这个原因,但是我并没有在业务中使用到事务。遂使用谷歌大法,才搜到原来这是因为Redisson的bug,网友给出的解决方案是去掉就好了,但是不可能因为这个问题就不使用Redisson,

2022-05-26 21:55:56 3047

原创 Feign远程调用丢失请求头问题

今天在家学习feign相关的知识,之前看过一次feign的源码之后就没事再深入学习feign的东西了。今天正好借着做的项目出现的问题再来更加深入的学习Feign的工作机制。问题描述今天写代码的时候发现通过feign远程调用的话,默认是不带我们浏览器的请求头的,这就造成了我们使用session的一些问题。接下来我们就一起来看看问题原因和解决方法吧。问题重现我们发现,在template中的headers中,没有我们的请求头,这样就会导致我们在远程调用别的接口的时候,无法传递它。RequestInte

2022-05-15 19:23:06 330

原创 java.lang.IllegalStateException: Found multiple @SpringBootConfiguration annotated classes

问题今天写SpringBootTest测试的时候,一直报java.lang.IllegalStateException: Found multiple @SpringBootConfiguration annotated classes [Generic bean: class……错误解决指定当前测试类的class名即可@SpringBootTest(classes = ……Tests.class)...

2022-05-03 16:38:45 1550

原创 SpringBoot自定义数据源

在SpringBoot中,我们可以自定义数据源以后就可以通过更改配置文件来替代复杂的代码文件。首先我们需要引入maven文件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId>

2022-05-02 21:51:23 2031

原创 Orace根据指定字段排序

记一次笔记:在一次业务中,需要使用自定义排序方式,在Oracle中就可以使用INSTR(……,排序字段)解决……ORDER BY INSTR(……,排序字段)

2022-05-01 15:39:11 574

翻译 CompletableFuture学习手册

Java中的异步计算异步计算很难推理。通常,我们希望将任何计算视为一系列步骤,但在异步计算的情况下,表示为回调的操作往往分散在代码中或彼此深度嵌套。当我们需要处理在其中一个步骤中可能发生的错误时,情况会变得更糟。Future接口是在Java 5中添加的,作为异步计算的结果,但它没有任何方法来组合这些计算或处理可能的错误。Java 8 引入了CompletableFuture类。除了Future接口之外,它还实现了CompletionStage接口。此接口定义了我们可以与其他步骤组合的异步计算步骤的协定

2022-04-15 17:44:14 166

转载 Git 全功能介绍

Git全功能介绍,转载帖

2022-04-07 10:43:45 91

原创 Redisson分布式锁快速入门教程

清明在家无事,并且因为上海疫情原因只能宅在家里,突然想到之前计划着写一篇Redisson的分布式锁快速入门教程,自己平常在工作中也只能简单会使用,所以文章可能写的比较简单,希望大佬勿喷。此文章也作为个人的笔记,用于查漏补缺。补充:目前只是使用Redisson作为分布式锁的用途。概述什么是Redisson呢?Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(

2022-04-05 21:07:51 1217

原创 Feign远程调用的底层方法逻辑

今天在写业务的时候,需要通过feign调用远程接口,平常只是调用就行了,没有了解到他是如何代码实现的,今天就使用debug来解开feign为什么可以远程调用的面纱。希望看本文章的同学朋友们,可以自己写一个简单的远程调用方法跟着我一起走一遍debug,自己走一遍debug比过硬看文章十遍。首先,我们在需要调用远程接口的地方,打上断点。ReflectiveFeign.java然后我们使用IDEA的step Into进入方法内部(不是hasStock方法)首先我们会进入这个类里边ReflectiveF

2022-04-02 16:51:02 2036

原创 Elasticsearch进阶学习笔记

本篇文章是我在学习Elasticsearch时(以下简称es)记录的进阶笔记之前的自己学习新技术的时候不喜欢记笔记,觉得脑子记住就行了,不懂的就面对百度编程。但是最近觉得还是:好记性不如烂笔头。可能学完es之后,一个月不用又把知识点忘掉了,但是可以回来看看自己记的笔记,可以快速的知道大概内容。还有就是想锻炼自己写作的能力,越长大越喜欢写一些东西,越喜欢分享,哈哈哈。我知道自己现在很菜,但是只要坚持,总会慢慢成长的,坚持自己热爱的东西,just do it.不说废话了,好好写笔记吧准备首先,我们需

2022-03-28 16:16:39 254

原创 Elasticsearch快速入门笔记

本篇文章是我学习Elasticsearch的学习笔记,文章比较简单,因为我坚信学一门新技术的最快方式就是先掌握这门技术的增删改查再慢慢深入学习更高级的用法。简介Elasticsearch是一个分布式文档存储。Elasticsearch 不是将信息存储为列式数据行,而是存储已序列化为 JSON 文档的复杂数据结构。(以下都称Elasticsearch为es)把es和mysql对照学习的话,理解起来比较容易在es中,并没有数据库、数据表和数据行这么概念,取而代之的是:index索引相当于mysql

2022-03-23 22:50:05 3148

转载 Java Stream groupingBy()常用案例

groupingBy()是Stream API中最强大的收集器Collector之一,提供与SQL的GROUP BY子句类似的功能。使用形式如下:.collect(groupingBy(...));需要指定一个属性才能使用,通过该属性执行分组。我们通过提供功能接口的实现来实现这一点 - 通常通过传递lambda表达式。例如,如果我们想按长度对字符串进行分组,我们可以通过将String::length传递给groupingBy()来实现:List<String> strings = n

2022-03-18 14:58:42 4150

原创 优雅的使用Assert来处理业务的异常情况

Java业务

2022-02-03 20:00:56 953

原创 poi excel 大数据量下拉框

/** * 创建下拉框 * * @param workbook 表 * @param firstRow 起始行 * @param lastRow 终止行 * @param firstCol 起始列 * @param lastCol 终止列 * @param dataArray 数据 * @param sheetHidden 隐藏 */ private static

2021-07-19 11:11:44 413

原创 Java生成6位随机码(大小写+数字)

Java生成6位随机码(大小写+数字) char[] sources = new char[]{'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',

2021-07-13 10:09:23 1223

原创 使用@Cacheable后报类型转换失败

不想听废话的:看是不是因为你redis存储的数据类型和你要返回的类型不一致,造成了类型转换异常在项目中,一些频繁的查询操作更好的解决方案是利用redis缓存而不是每次都操作数据库查询,这样会造成大量的不必要的性能浪费。我们可以利用Spring框架给我们提供的@Cacheable注解来进行和redis的搭配从而解决这样的问题。因为本篇文章不是讲解@Cacheable的使用,如果有想了解的朋友,可以看SpringBoot 缓存之 @Cacheable 详细介绍这篇文章,我觉得作者写的还挺详细。那么开始进

2021-04-26 08:56:32 2016

原创 Mac版elasticsearch安装ik分词器错误

安装ik分词器,把ik解压并把文件放在docker映射es的文件夹中运行命令elasticsearch-plugin list报出以下错误开始面向百度编程。找到github也有类似类似问题,意思就是这个mac生成的.DS_Store文件在捣乱,删除即可我是删除第一张图中报错位置的.DS_Store文件即可,请各位对症下药rm -rf /usr/share/elasticsearch/plugins/.DS_Store之后再次运行elasticsearch-plugin list,成功~

2021-04-14 14:19:26 512 1

原创 js的精度问题导致前后端id不一致

项目场景:进行讲师信息修改,前端通过vue的scope获取id并在url中显示,根据url是否有id判断是添加还是修改(共用一个页面)问题描述:修改的时候发现前端获取到的id和数据库存储id 部分 不一致,都是十七位之后的部分变为0例:数据库: 1353886468279455745前端: 1353886468279455700原因分析:由于JavaScript中Number类型的自身原因,并不能完全表示Long型的数字,在Long长度大于17位时会出现精度丢失的问题。解决方案:st

2021-01-26 10:49:08 670

原创 Reason: Failed to determine a suitable driver class 解决

项目场景:SpringBoot整合MyBatis.问题描述:报错:Reason: Failed to determine a suitable driver class原因分析:maven配置资源过滤问题.解决方案:在父项目的 pom.xml 中添加: <build> <resources> <resource> <directory>src/main/java&

2021-01-21 22:58:34 1586 1

原创 @SpringBootApplication失效问题

@SpringBootApplication的默认扫描范围在练习springsecurity中,突然发现spring的自动配置失效,需要手动的在主应用程序类添加@ComponentScan才可以扫描到.然后排查发现idea自动在根路径创建一个springbootsecuritydemo目录,并把主应用程序类存在里边.搜索网络博客发现同样问题,把主应用程序类放在根目录就可以解决问题.但是为什么呢?最能解决疑问的就是官方文档:We generally recommend that you lo

2020-12-21 10:23:14 926 1

原创 我对于springboot自动配置的理解

前要以HttpEncodingAutoConfiguration为例:// 表示这是一个配置类@Configuration(proxyBeanMethods = false)// 开启指定类的ConfigurationProperties功能@EnableConfigurationProperties(ServerProperties.class)// 判断当前是不是web应用,如果是,配置生效@ConditionalOnWebApplication(type = ConditionalOn

2020-12-15 17:05:07 137

原创 HTML中的property和attribute区别

HTML中的property和attribute区别property和attribute的区别:property/* * property: * 就是js代码中whc的属性值 * */ var whc = { name: "whc", height: "180" }attribute<!-- attribute: 就是html标签中input的属性值--><input typ

2020-10-29 20:55:20 367 1

空空如也

空空如也

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

TA关注的人

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