final关键字

背景关于 final 关键字的使用。理论final 修饰方法:表示方法不可被子类重写(覆盖)。final 修饰变量:初始化一次后值不可变。final 修饰类:类不能被继承,内部的方法和变量都变成 final 类型。final 修饰对象:指对象的引用不可变,但是对象的值可变,即指向的是同一个对象,但是
Java 2023年02月15日 525次浏览

线程池创建多线程

背景使用线程池创建多线程。实现线程池创建方式创建线程池有两种方式:使用 Executors 创建;使用 ThreadPoolExecutor 创建。Executors 是对 ThreadPoolExecutor 进行了一层封装,因此使用起来会比较方便。但阿里的 Java开发手册 建议我们使用 Thr
多线程 2023年02月13日 388次浏览

Mybatis:动态建表

背景在一些数据表名称根据业务需求变化的业务场景中,需要使用 Mybatis 实现动态建表。实现pom.xml在 pom.xml 中引入依赖:<dependency> <groupId>org.springframework.boot</groupId>
Mybatis 2023年02月10日 425次浏览

Invalid bound statement (not found)报错解决

问题在项目中需要修改 Mybatis 对应的部分内容,但修改后启动项目调用接口时报错:Invalid bound statement (not found):xxx解决如果是代码层面的问题,例如:xml 文件配置或者 mapper 文件路径配置等问题,网上有很多解决方案,这里不再赘述了,只记录下博主
BUG 2023年02月10日 416次浏览

SpringBoot:整合PageHelper分页插件

理论PageHelper 是基于 Mybatis 提供的一个第三方分页插件,在基于 Mybatis 的项目中使用非常方便。实践pom.xml引入依赖PageHelper 的依赖:<dependency> <groupId>com.github.pagehelper<
SpringBoot 2023年02月01日 515次浏览

RabbitMQ入门操作(三)

背景前面实现了 SpringBoot 对 RabbitMQ 的基础整合。本文我们将继续介绍 MQ 的其它部分内容。实践RabbitMQ的组成部分从前面两篇文章中我们大概也能体会到 RabbitMQ 的组成大致有如下部分:Broker:消息队列服务进程。此进程包括两个部分:Exchange和Queue
RabbitMQ 2023年01月30日 316次浏览

RabbitMQ入门操作(二)

背景上一篇我们简单介绍了 RabbitMQ 的理论部分及启动了 RabbitMQ 服务。本文我们将实现 SpringBoot 整合 RabbitMQ 。实践永远的HelloWorld公共项目common通常我们会创建一个公共项目 common ,用于在各项目中共享一些配置,例如:队列主题、交换机名称
RabbitMQ 2023年01月29日 310次浏览

RabbitMQ入门操作(一)

理论什么是消息队列”消息“指的是两个应用间传递的数据。数据的类型有很多种形式,可能只包含文本字符串,也可能包含嵌入对象。“消息队列(Message Queue)”是在消息的传输过程中保存消息的容器。在消息队列中,通常有生产者和消费者两个角色。生产者只负责发送数据到消息队列,谁从消息队列中取出数据处理
RabbitMQ 2023年01月29日 349次浏览

Hutool工具类

背景如 Hutool 作者在官网中所写:Hutool 是一个小而全的Java工具类库,通过静态方法封装,降低相关 API 的学习成本,提高工作效率,使 Java 拥有函数式语言般的优雅,让 Java 语言也可以“甜甜的”。Hutool = Hu + tool,是原公司项目底层代码剥离后的开源库,“H
工具类 2023年01月29日 621次浏览

Collections工具类

背景Collections 工具类 JDK 提供的一个工具类,位于 java.util 包下,提供了一系列的静态方法,方便我们对集合进行各种操作,算是集合框架的一个大管家。实现排序操作reverse(List list):反转顺序shuffle(List list):洗牌,将顺序打乱sort(Lis
工具类 2023年01月29日 507次浏览