自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 完整 Spring Boot + Vue 登录系统

模块功能后端Spring Boot + MyBatis Plus + JWT + Shiro数据库MySQL 用户表前端Vue3 + Element Plus + Axios登录流程用户名/密码验证 → 返回 Token → 存储 LocalStorage权限控制拦截器校验 Token + Shiro 角色权限跨域配置后端支持跨域请求接口安全所有接口需携带 Token 访问?? 数据库脚本(MySQL)?? 后端代码(Spring Boot)1. 2. JWT 工具类 3. 登录接口

2025-07-30 23:07:56 188

原创 基于SpringBoot和Leaflet集成在线天气服务的区县当前天气WebGIS实战

在当今数字化时代,地理信息系统(WebGIS)作为一种强大的空间信息展示与分析工具,已经广泛应用于各个领域。它不仅能够直观地呈现地理数据,还能结合实时信息为用户提供更加丰富和动态的体验。天气信息作为与人们日常生活息息相关的重要数据,其与WebGIS的结合更是具有巨大的应用价值。本文将深入探讨如何基于SpringBoot框架和Leaflet库,集成在线天气服务,构建一个展示区县当前天气的WebGIS系统,旨在通过实战案例为相关开发者提供参考和借鉴。

2025-07-29 21:21:15 799 1

原创 【基础】Node.js 介绍、安装及npm 和 npx功能了解

后面安装n8n要用到,做一点技术储备。主要是它的两个工具:npm 和 npx。Node.jsNode.js是一个免费的、开源的、跨平台的 JavaScript 运行时环境,允许开发人员在浏览器之外编写命令行工具和服务器端脚本,是一个基于Chrome V8 引擎的JavaScript 运行时环境,让 JavaScript 可以脱离浏览器运行在服务器端,用于构建高性能、可扩展的网络应用(如 Web 服务器、API、微服务等)。Node.js 相关核心工具及作用工具/概念作用npm(Node 包管理器)

2025-07-28 21:11:16 540

原创 【Spring】AOP

*AOP(Aspect-Oriented Programming,面向切面编程)**是一种编程范式,它通过预定义的切面(Aspect)对程序进行动态扩展,从而减少代码重复并提升可维护性。AOP的核心思想是把关注点从核心业务逻辑中分离出来,并通过切面(Aspect)将其实现。举个例子,在一个电商应用中,我们可能会在多个业务逻辑中用到日志记录、安全验证或事务管理等功能。传统的方式是将这些功能硬编码到各个业务模块中,这样会导致代码的重复和混乱。

2025-07-22 19:03:32 756

原创 《On Java进阶卷》阅读笔记(二)

向Set中添加的每个元素都必须是唯一的,Set不会添加重复的元素。基于哈希表实现,使用这个类代替旧的HashTable,提供了常数时间的键值对插入和定位性能。注解是一个很受欢迎的Java新特性,它是一种结构化且接受类型检查的向代码中添加元数据的方法,并且不会导致代码被渲染得混乱和不可读。使用到Java的反射机制,class对象中的getAnnotation方法可以获取这个class上被使用的注解。注解通常包含一些可以设定值的元素,元素看起来比较像接口的方法,只不过可以指定默认值,非null的。

2025-07-21 20:34:24 752

原创 基于SpringBoot的宠物领养系统设计与实现

传统的宠物领养过程往往繁琐且信息不对称。为了解决这些问题,我们设计并实现了一个基于Spring Boot框架的宠物领养系统。该系统旨在为宠物领养提供一个高效、安全和便捷的平台,连接宠物与领养者,帮助宠物找到属于它们的新家。本系统通过使用Spring Boot与Vue.js技术栈,成功实现了一个功能完备的宠物领养平台。系统提供了管理员、用户的功能模块,分别支持宠物管理、用户管理、领养申请、宠物论坛等。核心优势:高效的宠物管理:管理员可以灵活地管理宠物信息和领养记录,确保平台信息更新及时。前后端分离架构。

2025-07-18 20:35:10 670

原创 使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南

本文介绍了如何使用 Nginx 搭建正向代理服务器,支持 HTTP 和 HTTPS 网站代理,并提供了详细的代码和配置示例。通过本文的学习,您可以掌握搭建正向代理的基础知识,并能在实际项目中应用。代理服务器是一种非常强大的工具,能够帮助我们隐藏客户端信息、绕过 IP 限制等。合理的配置和优化可以提升代理服务器的性能,从而满足实际应用中的需求。

2025-07-15 20:53:24 408

原创 SpringBoot 整合 MyBatis-Plus

*MyBatis-Plus(简称 MP)**是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。愿景我们的愿景是成为 MyBatis 最好的搭档,就像魂斗罗中的 1P、2P,基友搭配,效率翻倍。Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件QueryWrapper : 查询条件封装UpdateWrapper : Update 条件封装。

2025-07-14 20:21:18 522 1

原创 字符函数和字符串函数(下)- 暴力匹配算法

以上就是这部分内容的全部了,有时候不得不说,永远保持谦逊,小编一直觉得自己C语言其实学的还可以,很扎实,但是越学到后面越是感觉,路还很远。

2025-07-12 21:53:02 444

原创 Spring Boot 中的 @ConditionalOnBean 注解详解

在 Spring Boot 中,条件注解(Conditional 注解)是一种强大的功能,允许我们根据某些条件动态地注册或跳过特定的 Bean。其中,当 Spring 容器中存在指定的 Bean 时,当前 Bean 才会被注册。本篇文章将详细介绍的使用场景、原理,并提供多个示例帮助理解。指定 Bean 类型指定 Bean 名称指定 Bean 注解搜索范围你在项目中用过吗?欢迎留言分享你的经验!??

2025-07-10 21:29:56 571

原创 【MySQL基础】MySQL复合查询全面解析:从基础到高级应用

复合查询是指将多个简单查询通过特定的SQL语法组合起来,形成一个功能更加强大的查询语句。与简单查询相比,复合查询能够:处理更复杂的数据关系减少应用程序中的数据处理逻辑提高数据检索效率(当正确使用时)实现跨表的数据关联和分析子查询适合解决分步查询问题,但要注意性能连接查询是处理表关系的强大工具UNION提供了垂直合并结果集的能力CTE提高了复杂查询的可读性和可维护性。

2025-07-02 20:04:27 833

原创 XXL-JOB快速入门(什么是XXL-JOB、部署XXL-JOB、在SpringBoot项目中接入XXL-JOB、XXL-JOB中的核心概念、集群环境下任务的路由策略)

XXL-JOB 是一个分布式任务调度平台,由中国人许雪里(一个来自美团的程序员)开发XXL-JOB 的核心设计目标是开发迅速、学习简单、轻量级、易扩展,XXL-JOB 现已开放源代码并接入多家公司的线上产品线许雪里/xxl-jobXXL开源社区。

2025-06-30 22:51:27 1029

原创 【Java 开发日记】你会不会使用 SpringBoot 整合 Flowable 快速实现工作流呢?

Flowable 是一个使用 Java 编写的轻量级业务流程引擎。Flowable 流程引擎可用于部署 BPMN2.0 流程定义(用于定义流程的行业 XML 标准),创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据,等等。Java 领域另一个流程引擎是 Activiti,不这两个东西只要会使用其中一个,另一个就不在话下。咱就不废话了,上代码吧。

2025-06-29 16:18:05 824

原创 解决MySQL启动报错ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost‘ (10061)

时,通常表示MySQL服务未正常启动或未被系统识别。此时若未找到MySQL服务(如图红框标注),需手动安装服务。通过以上步骤,可解决因服务未启动或未注册导致的连接失败问题。输入密码后,若成功进入MySQL命令行界面,则问题解决。此步骤对应命令行操作中的路径切换。显示成功连接后的数据库列表。

2025-06-28 10:42:59 613

原创 分布式系统中分布式ID生成方案的技术详解

选择合适的分布式ID生成方案需要综合考虑系统的规模、性能需求、ID的顺序性和唯一性要求以及对网络的依赖程度。不同的方案各有优缺点和适用场景,在实际应用中需要根据具体情况进行权衡和选择。通过合理使用分布式ID生成方案,可以确保分布式系统中数据的唯一性和一致性,提高系统的可靠性和性能。

2025-06-27 18:40:33 900

原创 Tomcat 启动报错 : There is insufficient memory for the Java Runtime Environment to continue

Tomcat 启动报错 “There is insufficient memory for the Java Runtime Environment to continue” 通常是由于系统内存不足或 JVM 内存参数设置不当引起的。通过检查系统内存、调整 JVM 内存参数以及检查其他进程的内存使用情况,可以解决这个问题。

2025-06-26 20:23:22 528

原创 【JavaEE】Spring AOP的注解实现

除了上面讲的基于注解的方式实现Spring AOP 还有远古的通过xml和代理的方式实现。然后就跟我们前面使用的注解一样包含,生命周期@Retention,作用范围@Target,交给Spring管理。当我们的切点表达式是一样的时候,像上面我们还是在每一个通知类型的注解中,都使用了相同的表达式。我们就可以使用定义注解的式以及另种切点表达式 @annotation 来描述这类的切点。通过上面的方法,使用了自定义注解修饰的方法,就可以添加切面类的通知。Spring AOP 核心概念:切点,连接点,通知,切面。

2025-06-24 21:54:58 963

原创 我的第1个爬虫程序——豆瓣Top250爬虫的详细步骤指南

venv。

2025-06-23 20:36:12 1218

原创 SpringMVC(看这一篇就够了)

MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分:Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中,JavaBean对象,业务模型等都属于Model。View(视图):用于展示模型中的数据的,一般为jsp或html文件。Controller(控制器):是应用程序中处理用户交互的部分。接受视图提出的请求,将数据交给模型处理,并将处理后的结果交给视图显示。

2025-06-23 20:30:27 872

原创 获取微信昵称的方法

在不同的开发场景下,获取微信昵称的方式有所不同。以下将分别介绍在 uni-app 和 Spring Boot 开发场景中获取微信昵称的具体方法。

2025-06-22 21:39:18 934

原创 极客大学java进阶训练营怎么样,图文详解!

送大家一个小福利,点击领取Java全套进阶资料存中…(img-mjxDHxXR-1624801401098)][外链图片转存中…(img-ZYNlVeSq-1624801401099)]

2025-06-19 21:22:14 287

原创 MySQL 多列 IN 查询详解:语法、性能与实战技巧

优先使用联合索引确保的查询顺序与索引一致。控制条件组数量单次查询避免超过 1000 组值。监控执行计划定期用EXPLAIN避免全表扫描若未命中索引,考虑优化查询条件或数据结构。事务中谨慎使用长时间持有锁可能导致并发问题。

2025-06-18 21:56:33 592

原创 使用 Docker 安装 MySQL 的详细教程

Docker 是一种开源的容器化平台,可以轻松地将应用程序及其依赖项打包在一个容器中,从而在任何环境中运行。本文将详细介绍如何使用 Docker 安装 MySQL 数据库,并包括端口配置和防火墙设置。

2025-06-16 11:15:41 941

原创 深入浅出:Spring IOC&DI

IOC(Inversion of Control),是一种设计思想,在之前的SpringMVC里就在类上添加@RestController和@Controller注解就是使用了IOC,这两个注解就是在Spring中创建一个对象,并将注解下的类交给Spring管理,Spring框架启动时就会自己加载这个类,交给Spring管理的类我们统称为Bean。IOC的意思就是控制反转,在之前我们的面向对象编程中,我们要使用一个对象需要自己new出来,但是现在使用IOC思想后,我们创建对象的时候,是通过容器来创建的,

2025-06-13 18:24:29 916

原创 宝塔安装的 MySQL 无法连接的情况及解决方案

宝塔面板是一款流行的服务器管理工具,其中集成的 MySQL 数据库有时会出现连接问题。本文详细介绍两种最常见的 MySQL 连接错误:“1130 - Host is not allowed to connect” 和 “1045 - Access denied”,以及它们的解决方案。

2025-06-13 18:18:48 1173

原创 sql代码格式化工具

搜索并安装“sqlinform”或“poor man’s t-sql formatter”插件。选择“插件”菜单,找到相应的格式化选项(如“format selected sql”),点击即可格式化选中的语句。如果没有安装插件,也可以手动格式化SQL语句。通过以上方法,可以有效地格式化SQL语句,提高代码的可读性和可维护性。打开Notepad++,进入“插件”菜单,选择“插件管理器”。在编辑器中打开包含SQL语句的文件,或直接输入SQL代码。手动格式化时,注意保持SQL的语法正确性。

2025-06-12 20:31:51 328

原创 Spring AI应用:利用DeepSeek+嵌入模型+Milvus向量数据库实现检索增强生成--RAG应用(一)(超详细)

检索增强生成(Retrieval-Augmented Generation,RAG)是一种结合了检索和生成模型的方法,旨在提高生成模型在问答等任务中的效果。RAG模型由一个检索器和一个生成器组成,检索器用于从大规模文本库中检索相关信息,然后将这些信息传递给生成器来生成回答或解释。RAG模型结合了检索的准确性和生成的灵活性,旨在解决传统生成模型在生成长文本、知识推理等方面的不足之处。通过在生成过程中利用检索到的信息,RAG能够生成更加准确和丰富的文本,并在问答任务中取得更好的效果。

2025-06-12 20:29:52 1172

原创 从0开始教你,如何进行前后端的数据库(MySQL)连接

使用 MySQL 创建数据库和数据表首先,创建一个 MySQL 数据库,用于存储留言信息。在数据库中创建一个表,定义留言的字段,如留言内容、用户信息、留言时间等。使用 Node.js 开发后端接口并连接数据库使用 Node.js 和 Express 框架开发后端 API。安装并配置 MySQL 驱动(如mysql2或sequelize)来连接数据库。创建相关的 API 接口,例如GET用于获取留言列表,POST用于添加留言等。后端与数据库交互,处理数据的增删改查(CRUD)操作。

2025-06-11 21:13:46 1006

原创 【MySQL】索引(B+树详解)

的记录里的 字段量进行缓存,所以非叶子节点里 也不会有 所有记录个数对应的 总字段量 那么多,

2025-06-11 21:11:40 726

原创 【RabbitMQ】 RabbitMQ高级特性

生产者首先发送条消息,然后经过交换器(normal_exchange)顺利地存储到队列(normal_queue)中. 由于队列normal_queue设置了过期时间为10s, 在这10s内没有消费者消费这条消息, 那么判定这条消息过期. 由于设置了DLX, 过期之时, 消息会被丢给交换器(dlx_exchange)中, 这时根据RoutingKey匹配, 找到匹配的队列(dlx_queue), 最后消息被存储在queue.dlx这个死信队列中.死信队列接收到消息: ttl test 10s…

2025-06-10 18:31:11 708

原创 [Git] 分布式版本控制 & 远程仓库协作

Git 是分布式的,每个人都有完整的本地版本库。远程仓库(如 GitHub、Gitee)用于方便大家交换彼此的修改。:从远程仓库下载一份完整的本地版本库。克隆通常使用 HTTPS 或 SSH 协议。SSH 需要配置 SSH Key 实现无密码推送。:查看本地仓库关联的远程主机信息。origin是默认的远程主机名。git push <远程主机名> <本地分?名>:将本地分支的提交上传到远程仓库的对应分支。git pull <远程主机名> <远程分?名>:从远程仓库的指定分支抓取最新提交并合并。

2025-06-10 18:29:11 903

原创 MySQL 数据库索引详细教程

索引是数据库中用于提高查询性能的数据结构,类似于书籍的目录。它可以帮助数据库引擎快速定位到表中的特定数据,而不需要扫描整个表。合理设计和使用索引是MySQL性能优化的关键。需要根据实际查询模式设计索引,定期审查和优化索引策略,避免过度索引和索引不足两个极端。通过EXPLAIN分析查询执行计划,结合业务特点不断调整索引策略,才能获得最佳的数据库性能。

2025-06-09 18:24:07 705

原创 【SpringBoot】零基础全面解析SpringBoot配置文件

详细见链接:Hutool1. 原理验证码可以客户端生成, 也可以服务器生成. 对于普通的字符验证码, 后端通常分两部分.一是生成验证码内容, 根据验证码内容干扰项等, 生成图片, 返回给客户端二是把验证码内容存储起来, 校验时取出来进行对比. Hutool 把验证码存储在Session里.2. 使用前需引入Hutool 依赖.

2025-06-05 15:38:00 1011

原创 Nginx Location映射规则总结归纳

指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程。指令用于将请求转发到后端服务,其路径拼接逻辑与。(区分大小写,按配置文件顺序匹配)(按最长匹配原则,优先级最低)Nginx按以下顺序匹配。(匹配后停止正则检查)

2025-06-05 15:35:38 586

原创 【基于SpringBoot的图书购买系统】Redis中的数据以分页的形式展示:从配置到前后端交互的完整实现

本模块核心接口:获取特价图书列表接口:用于前端页面展示特价图书信息,支持分页查询表示层(前端):负责用户界面的展示和交互,通过AJAX请求与后端接口进行数据交互应用层(后端):包含控制器、服务层和数据访问层,处理业务逻辑和数据操作数据层:包含MySQL数据库和Redis缓存,分别存储持久化数据和高频访问数据Redis在系统中扮演了关键的缓存角色,主要负责存储特价图书的实时数据,减轻数据库访问压力,提高系统响应速度。

2025-06-04 10:55:44 327

原创 SpringBoot实现图形验证码

目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获取验证码验证码校验调整前端代码随着安全性的要求越来越高,目前许多项目中都使用了验证码,验证码也有各种类型,如 图形验证码、短信验证码、邮件验证码、人脸识别等,这些不同类型的验证码可以根据实际需求和安全性要求进行选择和应用,保护网站和用户免受恶意攻击在本篇文章中,我们来学习图形验证码的实现验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用 Hutool

2025-06-04 10:53:47 401

原创 【面试】Java面试频繁问到的题最新整理(附答案)

序列化就是一种用来处理对象流的机制,就是将对象的内容进行流化,可以对流化后的对象进行读写操作,也可以将流化后的对象传输于网络之间。可通过实现java.io.Serializable接口来实现序列化。AOP是面向切面编程,用于在不改变原有逻辑的基础上增加一些额外的功能,如事务管理、日志、缓存、权限控制等。Spring AOP是基于代理的。如果目标对象实现了接口,则默认采用JDK动态代理。如果目标对象没有实现接口,则采用CgLib进行动态代理。如果目标对象实现了接口,且强制CgLib代理。

2025-06-03 11:42:55 472 1

原创 数字化转型-4A架构(业务架构、应用架构、数据架构、技术架构)

4A架构是华为公司推出的企业架构框架,数字化转型中的4A架构包含:业务架构(Business Architecture)、应用架构(Application Architecture)、数据架构(Data Architecture)和技术架构(Technology Architecture)。[百度百科]业务架构定义企业战略、业务流程与组织能力,对齐客户需求与业务目标;应用架构规划支撑业务的核心系统与功能模块,实现端到端协同;数据架构确保各系统间的数据能够准确、一致地流动(如统一商品编码、实时库存同步);

2025-06-03 11:20:36 979

原创 通过脚本一次创建6个redis配置

通过脚本一次启动6个redis容器。#通过脚本一次创建6个redis配置。

2025-06-01 11:42:57 169

空空如也

空空如也

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

TA关注的人

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