
SpringBoot
文章平均质量分 71
wzq_55552
认真做事,好好生活。(给个关注呗←_←)
展开
-
@Builder反序列化报找不到构造函数错误default constructor not found
@Builder反序列化报找不到构造函数错误default constructor not found原创 2023-05-16 19:45:56 · 1900 阅读 · 0 评论 -
SpringBoot面试干货
IOC容器、JavaConfig、事件监听、SpringFactoriesLoader详解。原创 2023-02-08 08:00:00 · 504 阅读 · 0 评论 -
JJWT实现令牌Token
JJWT是一个提供端到端的JWT创建和验证的Java库。永远免费和开源(Apache License,版本2.0),JJWT很容易使用和理解。它被设计成一个以建筑为中心的流畅界面,隐藏了它的大部分复杂性。原创 2023-01-12 10:07:11 · 1161 阅读 · 0 评论 -
Canal同步数据
Canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据。原创 2023-01-10 12:42:41 · 2154 阅读 · 0 评论 -
Kafka消息中间件
在大数据领域中Kafka目前是使用较多的框架。Kafka作为内部消息通知的框架,可以适应项目中大数据量的高吞吐、实时流计算等功能实现。原创 2023-01-09 09:18:51 · 449 阅读 · 0 评论 -
Rabbitmq消息队列详解(三)——SpringBoot整合
SpringBoot整合+应用场景。原创 2023-01-08 11:12:59 · 971 阅读 · 0 评论 -
Rabbitmq消息队列详解(二)——消息模式API
Rabbitmq消息模式API。原创 2023-01-07 18:08:28 · 788 阅读 · 0 评论 -
Rabbitmq消息队列详解(一)——基础介绍
消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的浸入,轻松的实现系统间的解耦。原创 2023-01-05 21:23:00 · 403 阅读 · 0 评论 -
Zookeeper详解(三)——开源客户端curator
curator框架在zookeeper原生API接口上进行了包装,解决了很多zooKeeper客户端非常底层的细节开发。提供zooKeeper各种应用场景(比如:分布式锁服务、集群领导选举、共享计数器、缓存机制、分布式队列等)的抽象封装,实现了Fluent风格的API接口,是最好用,最流行的zookeeper的客户端。原创 2023-01-04 21:00:10 · 711 阅读 · 1 评论 -
Zookeeper详解(二)——API & 事件监听
znode是zooKeeper集合的核心组件,zookeeper API提供了一小组方法使用zookeeper集合来操纵znode的所有细节。原创 2023-01-03 21:07:08 · 1007 阅读 · 3 评论 -
Zookeeper详解(一)——基础介绍
ZooKeeper致力于为分布式应用提供一个高性能、高可用,且具有严格顺序访问控制能力的分布式协调服务。原创 2023-01-02 14:59:30 · 4151 阅读 · 0 评论 -
SpringBoot+Redis处理Session共享
SpringBoot + Redis 处理Session共享。原创 2023-01-01 21:37:20 · 616 阅读 · 0 评论 -
Elasticsearch搜索引擎(二)——SpringData Elasticsearch
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。原创 2022-12-31 19:53:54 · 1500 阅读 · 1 评论 -
Elasticsearch搜索引擎(一)——基础使用
Elasticsearch是一个接近实时的分布式搜索平台。原创 2022-12-31 19:51:13 · 1681 阅读 · 0 评论 -
FastDfs分布式文件存储系统
FastDfs 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。原创 2022-12-31 17:37:34 · 2739 阅读 · 4 评论 -
Swagger在线API文档
最好的 API 是使用 Swagger 工具构建的。原创 2022-12-25 15:14:27 · 1498 阅读 · 0 评论 -
SpringBoot-Statemachine实现状态机持久化
状态机之所以强大,是因为始终保证行为是一致的,这使得调试相对容易。这是因为在机器启动时,操作规则是不可更改的。其思想是,应用程序可能存在有限数量的状态,某些预定义的触发器可以将应用程序从一种状态转移到另一种状态。这样的触发器可以基于事件或计时器。在应用程序之外定义高级逻辑,然后依靠状态机来管理状态要容易得多。您可以通过发送事件、侦听更改或请求当前状态来与状态机交互。原创 2022-09-29 16:43:54 · 2750 阅读 · 1 评论 -
Mybatis——数据库json字段映射实体类
Mybatis——数据库json字段映射实体类原创 2022-07-07 10:47:13 · 8888 阅读 · 4 评论 -
Spring工具类StopWatch
Spring工具类StopWatch原创 2022-07-06 11:08:27 · 543 阅读 · 1 评论 -
SpringBoot优雅使用线程池
SpringBoot优雅使用线程池原创 2022-06-30 18:12:51 · 1073 阅读 · 0 评论 -
文件流转MultipartFile
Java后端,文件流转MultipartFile原创 2022-06-29 15:57:45 · 8025 阅读 · 0 评论 -
Spring实现Bean延迟加载
Spring实现Bean延迟加载使用spring,则所有bean统一交给spring管理,spring负责初始化、销毁等整个声明周期。所有bean的定义通过配置文件或javaConfig方式。启动时统一初始化并加载至spring的applicationContext中,通过其getBean方法获取。但有时为了加快系统启动速度,并不需启动时立刻初始化并加载,可以在使用其时才初始化并加载,可以使用@Lazy实现懒加载有些时候,我们不需要懒加载,但是又希望一些Bean在项目启动后延迟几分钟再初始化加载,原创 2022-02-16 16:11:34 · 2786 阅读 · 0 评论 -
hutool工具ExcelWriter设置单个单元格样式
官网自定义样式:ExcelWriter writer = ...;// 定义单元格背景色StyleSet style = writer.getStyleSet();// 第二个参数表示是否也设置头部单元格背景style.setBackgroundColor(IndexedColors.RED, false);//设置内容字体Font font = writer.createFont();font.setBold(true);font.setColor(Font.COLOR_RED)原创 2022-01-17 16:03:44 · 11077 阅读 · 0 评论 -
使用Mybatis/TkMybatis/Mybatis-Plus框架报错:无效的列类型: 1111
使用Mybatis/TkMybatis/Mybatis-Plus框架报错:无效的列类型: 1111原创 2022-01-06 09:34:25 · 4548 阅读 · 2 评论 -
SpringBoot项目幂等性问题解决方案实现
大体思路:前端请求头存放幂等性ID,自定义注解ApiIdempotent,在需要幂等性controller访问前拦截获取幂等性ID作为Redis的Key,值为N(正在执行),设置一定的过期时间。controller执行后拦截设置Redis中key幂等性ID的值为Y(已执行完)代码:1. 自定义幂等性注解,在需要幂等性校验的controller方法上添加该注解import java.lang.annotation.ElementType;import java.lang.annot原创 2021-12-16 17:27:18 · 1411 阅读 · 0 评论 -
SpringBoot分析使用RequestBodyAdvice&ResponseBodyAdvice接口
RequestBodyAdvice作用:controller入参使用了@RequestBody注解获取json数据,RequestBodyAdvice才能生效。很明显,原理是aop,在读取请求body数据前后进行额外的操作。看看RequestBodyAdvice接口源码:public interface RequestBodyAdvice { /** * 返回boolean类型,当该方法返回条件成立时才能触发执行其他方法 * Invoked first to determine i原创 2021-12-15 17:29:11 · 2626 阅读 · 0 评论 -
Mybatis支持实体类LocalDateTime格式化转化解析
Mybatis生成的映射实体类对应的日期类型是Date类型,我们应该改成LocatDateTime等Java8新出的安全日期类型,但是这样实体类在mybatis执行映射解析上跟数据库的类型是匹配不上的,会报类型格式不匹配等问题。解决方法:统计设置日期类型转换,执行查询获取的日期需要映射为LocatDateTime类型,执行新增更新等操作时将LocatDateTime日期对象转成与数据库相匹配的类型。代码如下:import com..common.constant.DateConstant;imp原创 2021-10-29 17:25:36 · 6505 阅读 · 0 评论 -
SpringBoot多线程访问Redis报错超时异常RedisConnectionFailureException解决
@Test public void testRedis() { // 多线程访问相同key for (int i = 0; i < 10; i++) { int finalI = i; new Thread(() -> { // 不存在,则set stringRedisTemplate.opsForValue().setIfAbsent("...原创 2021-10-20 15:03:26 · 2570 阅读 · 3 评论 -
分布式服务框架Dubbo、Dubbox的基本原理
Dubbo简介Dubbo官网:https://dubbo.apache.org/zh/docs/v3.0/introduction/Apache Dubbo 是一款微服务开发框架,它提供了 RPC通信与 微服务治理 两大关键能力。这意味着,使用 Dubbo 开发的微服务,将具备相互之间的远程发现与通信能力, 同时利用 Dubbo 提供的丰富服务治理能力,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。整体架构config 配置层:对外配置接口,以 ServiceConfig, Ref原创 2021-07-20 17:03:43 · 222 阅读 · 1 评论 -
文件在线预览开源组件kkFileView
kkFileView项目为文件文档在线预览项目解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,Excel,pdf,txt,zip,rar,图片等等码云地址:https://gitee.com/kekingcn/file-online-preview官网文档:https://kkfileview.keking.cn/zh-cn/docs/production.html详细文档:https://gitee.com/kekingcn/f原创 2021-04-24 21:54:07 · 1318 阅读 · 0 评论 -
SpringBoot实现微信支付流程+RabbitMQ消息推送
微信支付整个流程使用到的组件代码:链接:https://pan.baidu.com/s/1v5415tEtetxdsp4o7HMy5A提取码:ys87二维码创建利用qrious制作二维码插件。qrious是一款基于HTML5 Canvas的纯JS二维码生成插件。通过qrious.js可以快速生成各种二维码,你可以控制二维码的尺寸颜色,还可以将生成的二维码进行Base64编码。qrious.js二维码插件的可用配置参数如下:参数类型默认值描述backgroundStr原创 2021-04-22 23:08:57 · 2316 阅读 · 0 评论 -
BindException、ConstraintViolationException、MethodArgumentNotValidException入参验证异常分析和全局异常处理解决方法
Spring validation验证框架注解Spring validation验证框架提供了大量接口入参检验注解,注意三个非空注解:@NotNull:验证对象是否不为null, 无法查检长度为0的字符串@NotBlank:检查约束 (字符串) 是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格@NotEmpty:检查(集合)约束元素是否为NULL或者是EMPTY@Size(min=,max=):验证对象(Array,Collection,Map,String)长度是否在原创 2021-04-22 15:56:44 · 20475 阅读 · 4 评论 -
SpringBoot实现阿里云手机短信验证码
Java实现手机短信验证码阿里云开启短信服务进入短信服务新建AccessKey(不要外传)账号:xxx密码:xxx后期代码授权要使用到添加签名和模板签名发送信息的头,一般是项目名或者公司名称,会加到短信内容的前面模板指发送到手机上的验证码正文内容验证码短信:签名+模板都需要申请的:购买套餐测试,发送效果如下:依赖<dependency> <groupId>com.aliyun</groupId> <artifa原创 2021-03-28 20:22:35 · 441 阅读 · 0 评论 -
SpringSecurity配置过滤Swagger(Boostrap-ui)文档路径
权限认证框架会拦截swagger文档api,无法访问。swagger访问文档路径:http://ip:port/swagger-ui.htmlswagger-boostrap-ui访问文档路径:http://ip:port/doc.htmlSpringSecurity配置忽略以上路径和swagger静态资源代码如下: @Override public void configure(WebSecurity web) throws Exception { web.ignorin原创 2021-03-28 18:24:05 · 1936 阅读 · 0 评论 -
SpringBoot 注解介绍
SpringBoot 注解介绍一、注解(annotations)列表1、@SpringBootApplication包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让Spring Boot扫描到Configuration类并把它加入到程序上下文。2、@ComponentScan组件扫描,可自动发现和装配一些Bean。3、@Configuration等同于Spring的XML配置文件;使用J原创 2021-03-25 14:44:01 · 165 阅读 · 0 评论 -
判断某个对象属性值都不为空/至少有一个属性值不为空
判断某个对象属性值都不为null(字符串属性不为null和不为"")的工具类有时候,controller参数接收json对象,我们需要判断该对象中的属性值是否都不为null(都是必须的),其中字符串属性不为null和不为“”,如果对象参数多,controller里面遍历每一个属性去判断,代码冗余多。当然还有另外的方法,比如spring框架中的注解@NotNull,@NotBlank,@Vali...原创 2020-04-19 14:36:15 · 6320 阅读 · 0 评论