自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从配置文件中加载数据的方法

类,用于管理不同设备类型的 API 密钥(ApiKey)和令牌(Token)。这些配置项通过 Spring 的。注解从配置文件中加载,并存储在静态变量中。

2025-03-12 10:47:48 193

转载 java: Compilation failed: internal java compiler error 报错解决

解决方法:查看项目中配置的jdk版本,再查看。解决方法:调整分配的堆大小,最开始是700。

2025-03-10 17:57:01 176

原创 RabbitMQ 仲裁队列 -- 解决 RabbitMQ 集群数据不同步的问题

什么是 Raft?Raft 是⼀种⽤于管理和维护分布式系统⼀致性的协议,它是⼀种共识算法,旨在实现⾼可⽤性和数据的持久性. Raft 通过在节点间复制数据来保证分布式系统中的⼀致性,即使在节点故障的情况下也能保证数据不会丢失.在分布式系统中,为了消除单点提⾼系统可⽤性,通常会使⽤副本来进⾏容错,但这会带来另⼀个问题,即如何保证多个副本之间的⼀致性?

2025-01-23 09:28:50 1638

原创 RabbitMQ 在实际应用时要注意的问题

在应⽤程序中,幂等性就是指对⼀个系统进⾏重复调⽤(相同参数),不论请求多少次,这些请求对系统的影响都是相同的效果.⽐如数据库的 select 操作.不同时间两次查询的结果可能不同,但是这个操作是符合幂等性的.幂等性指的是对资源的影响,⽽不是返回结果.查询操作对数据资源本⾝不会产⽣影响,之所以结果不同,可能是因为两次查询之间有其他操作对资源进⾏了修改.⽐如 i++ 这个操作,就是⾮幂等性的.如果调⽤⽅没有控制好逻辑,⼀次流程重复调⽤好⼏次,结果 就会不同.

2025-01-21 17:05:07 1292

原创 RabbitMQ 高级特性

延迟队列是⼀个特殊的队列,消息发送之后,并不⽴即给消费者,⽽是等待特定的时间,才发送给消费者.延迟队列的应⽤场景有很多,⽐如:1.订单在⼗分钟内未⽀付⾃动取消2.⽤户注册成功后,3天后发调查问卷3.⽤户发起退款,24⼩时后商家未处理,则默认同意,⾃动退款但RabbitMQ本⾝并没直接实现延迟队列,通常有两种⽅法:1.TTL+死信队列组合的⽅式2.使⽤官⽅提供的延迟插件实现延迟功能⼆者对比:1.基于死信实现的延迟队列a.优点:1)灵活不需要额外的插件⽀持。

2025-01-20 16:05:15 1158

原创 序列化和反序列化 Json 字符串 @JSONField

JSONField 注解在 FastJSON 库中非常有用,它可以帮助开发者精确控制 JSON 序列化和反序列化的行为,确保 JSON 数据的一致性和正确性。通过指定键名、格式化日期、控制字段的序列化和反序列化等,可以灵活地处理复杂的 JSON 数据结构。

2025-01-15 16:51:22 566

原创 序列化和反序列化 Json 字符串 @JsonProperty

JsonProperty 注解在 Jackson 库中非常有用,它可以帮助开发者精确控制 JSON 序列化和反序列化的行为,确保 JSON 数据的一致性和正确性。通过指定键名、控制访问级别、设置必填项等,可以灵活地处理复杂的 JSON 数据结构。

2025-01-15 16:01:28 380

转载 mybatisplus+ mysql 数据库 id 自增值变大且 AUTO_INCREMENT 无效的问题

5.带着疑问,开始google查找问题,一开始怀疑是数据库本身的问题,是不是数据库id自增主键设置的有问题,查看数据发现id和插入时间一点关系都没有。7.既然mysql没有问题,那是不是mybaits的问题呢,带着疑问查了一下网上的资料,查到这篇文章,https://blog.youkuaiyun.com/razorluo/article/details/106238129 mybatisplus自增主键很大问题排错。2.查看数据库中的id字段,发现有负值也有正值,而且都是比较大的数;3,AUTO(数据库ID自增)

2025-01-07 09:17:23 112

原创 Quartz 任务调度学习笔记(包教包会,最细致的介绍)

Quartz是OpenSymphony开源组织在Job scheduling领域的一个开源项目,该项目于 2009 年被 Terracotta 收购,目前是 Terracotta 旗下的一个项目。它完全由java编写、可以与J2EE与J2SE应用程序相结合也可以 单独使用。Quartz可以用来创建运行十个、百个、乃至几万个Jobs这样复杂的程序。

2024-12-31 00:20:02 941

原创 Spring Boot 整合 RabbitMQ(在Spring项目中使用RabbitMQ)

对于 RabbitMQ 开发,Spring 也提供了⼀些便利. Spring 和 RabbitMQ 的官⽅⽂档对此均有介绍下⾯来看如何基于 SpringBoot 进⾏ RabbitMQ 的开发。

2024-12-26 10:29:30 1747

原创 RabbitMQ 的7种工作模式

RabbitMQ 的7种工作模式,RabbitMQ的基本使用

2024-12-23 16:53:53 1842

原创 RabbitMQ快速入门 - 生产者和消费者的简单实现

例如:如果有⼀个名为 "hello" 的队列,⽣产者可以直接发送消息到 "hello" 队列,⽽消费者可以从 "hello" 队列中接收消息,⽽不需要关⼼交换机的存在.这种模式⾮常适合简单的应⽤场景,其中⽣产者和消费者之间的通信是⼀对⼀的.当⼀个新的 RabbitMQ 节点启动时,它会预声明(declare)⼏个内置的交换机,内置交换机名称是空字符串("").⽣产者发送的消息会根据队列名称直接路由到对应的队列.运⾏之后,队列中就已经有了 hello 这个队列的信息。运⾏程序,我们刚才发送的消息,就收到了。

2024-12-13 11:19:22 1098

原创 Mybatis Plus 多表联查+分页查询

在UserMapper//...//...TIP : 可以看到我们定义的关联分页查询和 Myatis Plus 内部提供的分页方法相差不大,仔细看入参,我们复用了 Mybatis Plus 内部提供的分页类IPage,以及(用于组装where条件)。然后在//...//...@Autowired@Test// 查询第一页,每页显示 10 条// 注意:一定要手动关闭 SQL 优化,不然查询总数的时候只会查询主表。

2024-12-12 16:24:41 319

原创 ubuntu 如何放开端口

请注意,放开端口也意味着允许外部访问该端口,因此在放开端口之前,请确保你了解安全风险,并只放开需要的端口。另外,如果你的系统上运行了其他防火墙工具(如iptables),你需要根据具体工具的使用方式进行相应配置。ufw 是 Ubuntu 上的一个简化的防火墙配置工具,可以轻松管理端口和防火墙规则。sudo ufw allow 22/tcp #允许所有的外部IP访问本机的22/tcp端口(ssh)sudo ufw allow smtp #允许所有的外部IP访问本机的25/tcp端口(smtp)

2024-12-10 16:09:21 3237

原创 分享一个根据当前时间生成随机编号的方法

【代码】分享一个根据当前时间生成随机编号的方法。

2024-12-10 10:58:52 158

原创 RabbitMQ 工作流程和 web 界面介绍

界⾯上的导航栏共分 6 部分,这 6 部分分别是什么意思呢,我们先看看 RabbitMQ 的⼯作流程RabbitMQ是⼀个消息中间件,也是⼀个⽣产者消费者模型.它负责接收,存储并转发消息.消息传递的过程类似邮局.当你要发送⼀个邮件时,你把你的邮件放到邮局,邮局接收邮件,并通过邮递员送到收件⼈的⼿上.按照这个逻辑, Producer 就类似邮件发件⼈. Consumer 就是收件⼈, RabbitMQ 就类似于邮局。

2024-12-09 17:52:11 1300

原创 ServletOutputStream 用于发送二进制数据到客户端的输出流(文件下载)

ServletOutputStream 是 Java Servlet API 的一部分,它是一个用于发送二进制数据到客户端的输出流。当你在 Servlet 中处理 HTTP 请求时,允许你将响应体内容(如文件、图片或任何二进制数据)直接写入 HTTP 响应中。以下是。

2024-12-04 17:52:32 453

原创 springboot利用easypoi实现简单导出Excel

今天玩了一下springboot利用easypoi实现excel的导出,以前没玩过导入导出,只不过听说过看别人用过,怎么说呢,想玩就玩一下吧,毕竟结合自己业务场景需要才会考虑是否使用。先简单介绍一下easypoi。

2024-12-02 15:56:55 1315

原创 @Pattern (用于校验字符串是否符合特定正则表达式)

Pattern是一个用于校验字符串是否符合特定正则表达式的注解,它在 Java 中常用于验证输入数据的格式。以下是@Pattern。

2024-11-27 15:04:59 826

原创 @JsonFormat 详解(在序列化和反序列化 JSON 数据时控制日期和时间的格式)

是 Jackson 库提供的注解,用于在序列化和反序列化 JSON 数据时控制日期和时间的格式。

2024-11-27 11:14:49 828

原创 @DateTimeFormat 详解(格式化和解析日期时间字段)

DateTimeFormat 是 Spring 框架提供的注解,用于格式化和解析日期时间字段。

2024-11-27 11:07:47 1249

转载 Spring Boot 中的 @DateTimeFormat 和 @JsonFormat 的用法及作用

在开发 Spring Boot 应用时,处理日期和时间数据是一个常见的需求。Spring Boot 提供了两个注解和来帮助我们处理这些问题。这两个注解分别用于将日期字符串解析为日期对象以及将日期对象格式化为字符串。本文将详细介绍这两个注解的用法及作用,并通过实例代码进行说明。

2024-11-27 10:24:26 355

原创 mybatis-plus 如何实现多表查询

MyBatis-Plus Join是一个扩展库,它提供了多表联查的能力。注解来编写SQL查询语句,实现多表查询。另一种方法是在Mapper的XML配置文件中定义多表查询的SQL语句。这些方法提供了灵活的方式来实现多表查询,你可以根据项目的具体需求选择合适的实现方式。你可以在 Mapper 接口中使用。来构建多表联查的条件。

2024-11-26 15:20:51 466

原创 mybatis-plus 实现分页查询步骤

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了代码生成器、条件构造器、分页插件等多种功能,其中分页查询是一个常用的功能。

2024-11-26 15:15:29 1546 1

原创 Java后端如何进行文件上传和下载 —— 本地版

本文详细介绍了在Java后端进行文件上传和下载的实现方法,包括文件上传保存到本地的完整流程、文件下载的代码实现,以及如何处理文件预览、下载大小限制和运行失败的问题,并提供了完整的代码示例。

2024-11-25 11:16:51 2182 1

原创 idea怎么打开两个窗口,运行两个项目

将这里的设置改为:New window(idea 的版本不同位置可能不同,但肯定在这个页面),点击 Apply 应用。打开新项目要在 File -> Open 找到项目文件打开(我之前直接去桌面点 idea 发现开不了第二个窗口)今天在开发项目的时候,前端希望运行一下以前的项目,于是就需要开两个 idea 窗口,运行两个项目。

2024-11-22 16:13:42 4074

原创 mybatis-plus 怎么定义实体类,使程序运行时自动创建表

确保你的项目中已经包含了 MyBatis-Plus 的依赖,并且正确配置了数据库连接信息。当应用程序启动时,MyBatis-Plus 会根据配置的策略自动创建或更新数据库。:创建一个 Java 类来表示数据库中的表,使用 MyBatis-Plus 提供的注解来定义实体类的属性与数据库表和字段的映射关系。:指定实体类对应的数据库表名。如果实体类名与表名一致,可以省略此注解。:在配置文件中设置 MyBatis-Plus 的自动建表策略。:指定表的主键列,并设置主键的生成策略。:指定非主键字段的映射信息。

2024-11-21 15:05:05 1100 1

原创 mybatis-plus 的更新操作

在 MyBatis-Plus 中,update方法的使用

2024-11-21 14:51:14 1704

原创 通过mybatis-plus进行分页查询

【代码】通过mybatis-plus进行分页查询。

2024-11-20 17:00:06 185

原创 错误记录 - 数据库中记录的时间是14:20但返回给前端就变成了9:20

这通常与日期时间格式的处理有关。在进行网络请求或者数据交互时,时间戳和日期格式的转换是一个常见的问题点。Java开发中 Date 类型存储的是时间戳。所以时区没有设置好,就会出现问题。

2024-11-20 16:42:07 245

原创 MyBatis-Plus 中条件构造器 QueryWrapper 一些常用的比较运算符及其对应的方法

这通常与日期时间格式的处理有关。在进行网络请求或者数据交互时,时间戳和日期格式的转换是一个常见的问题点。Java开发中 Date 类型存储的是时间戳。所以时区没有设置好,就会出现问题。

2024-11-20 16:40:18 858

原创 Java BeanUtils 使用详解

在开始之前,让我们先了解一下什么是JavaBean。JavaBean是一种特殊的Java类,它遵循一组命名规范和编程约定,通常用于存储数据。具有无参数的公共构造函数。属性由公共的setter和getter方法管理。可序列化,可以用于持久化和网络传输。遵循一些命名规范,如属性的getter方法应该以"get"或"is"开头,setter方法以"set"开头。return age;在上面的示例中,Person。

2024-11-19 11:19:35 987

原创 通过客户端传来的HTTP请求(HttpServletRequest)获取客户端的IP地址

【代码】通过客户端传来的HTTP请求(HttpServletRequest)获取客户端的IP地址。

2024-11-12 09:34:34 236

原创 @Value 注解(可以将配置文件中的值注入到 Spring 管理的Bean的字段中)

这种方式使得配置值可以被集中管理,并且可以在不同的环境(如开发、测试和生产环境)中使用不同的配置值,而无需修改代码。注解是Spring框架中用于注入配置值的一个注解。它的作用是将配置文件中的值注入到Spring管理的Bean的字段中。注解被用来从外部配置源(可能是application.properties或application.yml文件)中注入。application.yml 配置文件。

2024-11-11 17:43:21 357

原创 根据图片下载地址,将图片下载到本地的方法

【代码】根据图片下载地址,将图片下载到本地的方法。

2024-11-08 11:11:30 312

原创 BufferedInputStream 和 FileInputStream 的区别

BufferedInputStream和 FileInputStream 都是Java中用于读取数据的类,它们都继承自类。

2024-11-08 11:08:24 296

原创 ProtoBuf 快速上手

消息(message):要定义的结构化对象,我们可以给这个结构化对象中定义其对应的属性内容。这⾥再提⼀下为什么要定义消息?在⽹络传输中,我们需要为传输双⽅定制协议。定制协议说⽩了就是定义结构体或者结构化数据, ⽐如,tcp,udp 报⽂就是结构化的。再⽐如将数据持久化存储到数据库时,会将⼀系列元数据统⼀⽤对象组织起来,再进⾏存储。所以 ProtoBuf 就是以 message 的⽅式来⽀持我们定制协议字段,后期帮助我们形成类和⽅法来使⽤。message 消息类型名{

2024-11-06 14:52:17 1151

原创 RestTemplate 常用方法(提供了多种方法来发送 HTTP 请求)

是 Spring 框架中用于同步客户端 HTTP 请求的一个类,它提供了多种方法来发送 HTTP 请求。以下是一些常用的该方法用于发送 POST 请求,并期望返回一个对象。以下是一个使用:创建了的一个实例,用于执行 HTTP 请求。:创建了一个HttpEntity对象,它包含了要发送的数据(在这个例子中是一个Foo对象,其构造函数接收一个字符串参数 "bar")和 HTTP 头部信息(在这个例子中头部信息是空的,因为HttpEntity的构造函数没有接收任何头部信息参数)。:使用方法发送 POST 请求到。

2024-11-01 10:34:19 1586

原创 微信小程序支付开发-通过code获取openid的方法

【代码】微信小程序支付开发-通过code获取openid的方法。

2024-10-31 16:01:27 554

原创 微信小程序调起支付获取到 prepay_id 后,由后端签名处理数据交给前端的代码

【代码】微信小程序调起支付获取到 prepay_id 后,由后端签名处理数据交给前端的代码。

2024-10-30 17:56:05 408

Quartz 在项目中的使用实例,可以动态增删改查定时任务,包括 Quartz 的优秀配置

Quartz 在项目中的使用实例,可以动态增删改查定时任务,包括 Quartz 的优秀配置

2024-12-30

Spring Boot 整合 RabbitMQ(在Spring项目中使用RabbitMQ)

Spring Boot 整合 RabbitMQ(在Spring项目中使用RabbitMQ)

2024-12-26

RabbitMQ 的7种工作模式

RabbitMQ 的7种工作模式的代码示例

2024-12-23

软考高级系统架构设计师知识点大全

软考高级系统架构设计师知识点大全软考高级系统架构设计师是一项国家级认证考试,主要考察考生在计算机系统结构、软件工程、数据库、网络、信息安全等多个领域的专业知识和实践经验。通过这项考试,考生可以获得高级系统架构设计师资格证书,证明其具备从事复杂信息系统架构设计、开发和实施的能力。 考试内容通常包括软件架构的设计原则、架构风格和模式,软件架构的层次结构和组件关系,软件架构文档编写规范等。此外,考生还需要熟悉数据库系统的基本概念,掌握SQL语言和关系数据库、对象数据库、分布式数据库等技术。同时,对网络和通信的理解也是必不可少的,包括TCP/IP协议及其五层模型,网络设备的作用,以及OSI参考模型和网络安全技术等。 除了基本知识与技能,高级系统架构师还需要具备较强的系统架构设计能力,包括对软件系统整体结构的把握、对各层次之间交互的清晰认识、对系统性能和安全性的全面考虑等。在实际工作中,高级系统架构师应能够根据项目需求,选择合适的技术栈和工具链,确保项目的顺利进行。

2024-03-25

编程语言 Java 实现的在线 OJ 系统

内容概要:基于 Servlet 实现的在线 OJ 系统,包含题目的列表页和题目详情页,类似于leetcode,可以在线编辑代码,提交代码并对用户提交的代码进行编译和运行,返回运行结果或错误信息 适合人群:初学 Java 的 Servlet 框架,想要用一个项目来进行练习巩固 能学到什么:1.可以学习到项目的创建过程 2.可以学习到进程的创建,以及通过创建的进程运行指令 3.可以学习到对文件的输入和输出操作,可以将数据写入到文件中或者从文件中读出数据 4.可以学习到如何通过 JDBC 来操作数据库 5.可以学习到用户提交的代码是如何在后端编译和运行,以及如何向用户返回得到的结果 6.可以学习到如何进行前后端交互

2024-03-01

通过 Spring 技术实现的博客系统

项目共5个页面 1. ⽤户登录 2. 博客发表页 3. 博客编辑页 4. 博客列表页 5. 博客详情页 通过 Spring 技术实现的博客系统,其中有 Spring ,Mybatis框架的使用,并且用到了 JWT 令牌技术来实现了登录校验 以及 Spring 的两大特性 IoC(控制权反转) 和 AOP (统一功能处理)都有用到,并且该项目用到的所有技术都能够在作者的博客中找到 本项目是一个非常适合作为新手练习 Java 开发,使用 Spring 和 Mybatis 框架的基础项目 适合人群:对 Java 有一定基础,想要学习 Spring 框架进行开发的技术人员 阅读建议:此资源以开发简化版Spring学习其原理和内核,不仅是代码编写实现也更注重内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,并调试对应的代码。

2024-02-12

中级软件设计师相关备考资料

经过约两个月的备考,博主已经拿下软件设计师的证书,这是一些备考时使用到的相关资源,也是踩了很多坑,里面有相关知识点和历年真题及其详解,并且还有许多的复习已经学习资料,希望能够帮到各位,希望想报考的伙伴都能得到理想的成绩

2024-01-04

博客系统(java,MySQL,HTML)

简单的博客系统,采用servlet开发,可以用于了解前后端交互的流程,实现了登录,展示博客列表,展示博客详情,编写博客,退出登录,显示登录用户和博客作者的相关消息,实现了强制登录操作,在未登录时访问系统,会自动跳转到登录页面,是一个初始学习阶段易上手的练习

2023-10-12

空空如也

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

TA关注的人

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