- 博客(62)
- 收藏
- 关注
原创 【Springboot】@Autowired和@Resource的区别
Resource 和@Autowired 这两个注解的作用都是在Spring 生态里面去实现Bean 的依赖注入。
2025-11-25 06:39:59
866
原创 SQL注入(SQL Injection)攻击原理与防御措施
SQL是一种代码注入技术,可使攻击者修改应用程序向数据库提供的查询。迄今为止,最常见和最严重的应用 程序安全威胁总是隐藏在与数据库有某些连接的网络应用 程序中。通过这种 SQL 注入,攻击者可以绕过登录程序,获取、更改甚至更新数据库,执行管理程序,或进行其他变种操作。要解释什么 是 SQL 注入,就必须了解 SQL 的一些基本原理。事实上,它已成为处理和虚拟操作这些数据库的通用语言。它用于查询、插入、更新和删除数据库记录,几乎所有网络应用程序都使用它来访问数据库;
2025-11-25 05:21:03
840
原创 SpringBoot实战:高效实现API限流策略
你可以创建一个全局异常处理器来捕获// 你可以在这里添加其他异常处理器的定义这样,当限流器阻止请求时,客户端将收到一个带有状态码的响应。
2025-11-25 04:00:28
250
原创 Redis队列和阻塞队列
普通的redis队列,为了实现业务,通常会使用while进行循环,这样的话没有消息时依旧会频繁的执行循环,造成cpu的空转,所以一般会在代码中增加sleep来解决该问题,但因此又会造成消息延迟问题。使用 BRPOP 这种阻塞式方式拉取消息时,还支持传入一个「超时时间」,如果设置为 0,则表示不设置超时,直到有新消息才返回,否则会在指定的超时时间后返回 NULL。redis队列提供了 “阻塞式” 拉取消息的命令:BRPOP / BLPOP,这里的 B 指的是阻塞(Block)。下面是某业务完整的消费者代码。
2025-11-25 02:40:12
181
原创 Nginx 反向代理配置
Nginx 作为反向代理服务器,在 Web 服务架构中发挥着至关重要的作用。通过反向代理配置,Nginx 能够帮助分担流量、提供负载均衡、提高安全性、加速请求响应等。本文介绍了 Nginx 反向代理的基本配置方法,以及如何通过负载均衡、SSL 反向代理、WebSocket 代理等功能,进一步扩展其能力。
2025-11-25 01:20:28
629
原创 深入理解与实战SQL IFNULL()函数
在数据库操作中,处理空值(NULL)是一项常见的任务。SQL的IFNULL()函数为开发者提供了一种优雅且实用的方法来应对这种情况。本文将详细介绍SQL IFNULL()函数的概念、用法和实际应用案例,帮助您更好地理解和运用它。IFNULL()函数是SQL中的一个条件判断函数,主要用于处理查询结果可能出现的NULL值问题。当某个字段或表达式的值为NULL时,IFNULL()会返回指定的替代值,否则返回原字段或表达式的实际值。
2025-11-24 07:30:48
424
原创 使用 Canal 实时从 MySql 向其它库同步数据
目前绝大多数项目还是采用 mysql 作为数据存储,对于用户访问量较高的网站来说,mysql 读写性能有限,我们通常会把 mysql 中的数据实时同步到 Redis、mongodb、elastic search 等中间件中,应对高并发访问场景,减轻 mysql 压力,防止数据库宕机。在项目开发中,为了不会原有代码进行侵入,采用 canal 中间件实现 mysql 向其它库的实时同步,是一种很不错的方案。
2025-11-24 06:05:47
683
原创 【Golang】——Gin 框架中的表单处理与数据绑定
Gin 允许注册自定义验证器。import ("regexp"// 注册自定义验证器// 路由err!= nil {return})本篇博客详细介绍了 Gin 框架中表单处理与数据绑定的功能,从基础的表单提交到复杂的数据验证和文件上传,再到完整项目示例,涵盖了实际开发中的常见场景。在下一篇博客中,我们将学习如何处理 API 请求与 JSON 数据绑定,进一步拓展你的 Web 开发能力。
2025-11-24 04:41:14
723
原创 SpringMVC 请求参数接收
在浏览器与程序进行交互时,主要分为**1. 建立连接:**将用户(浏览器)和 Java 程序连接起来,也就是访问一个地址能够调用到Spring程序的功能**3. 响应:**在执行了业务逻辑之后,要将程序执行的结果返回给客户,也就是响应在本篇文章中,我们来学习请求(获取参数)这部分内容。
2025-11-24 03:15:54
820
原创 Spring Boot的项目结构
合理的项目结构不仅能够提高代码的可读性和可维护性,还能够帮助团队成员更好地协作。特别是在大型项目中,良好的项目结构设计能够有效降低代码的耦合度,提高系统的可扩展性。此外,合适的测试结构和构建配置也是保证项目质量的重要因素。Spring Boot项目结构遵循Maven或Gradle的标准目录结构,同时融入了Spring Boot的特定约定。良好的项目结构不仅有助于代码组织,还能提高开发效率和项目可维护性。了解Spring Boot的项目结构对于开发高质量的应用至关重要。
2025-11-24 01:50:49
248
原创 服务器无故nginx异常关闭之kauditd0 kswapd0挖矿病毒 CPU占用200% 内存耗尽
当我用 命令 kill -9 kaudiod0 杀死进程后,没过一会儿,进程又自动开起来了。发现8G的内存快被占用光了,而我们只开了一个开销不大的java服务,按道理1G就够了。网上搜索教程上是kswapd0,而此次我们服务器上是 kswapd00。,这可能意味着原始启动它的进程或会话已经结束,但该进程仍然在运行。的 systemd 服务单元中运行的,该服务单元是为用户。发现有个kauditd0进程占用了200% 的CPU。的会话 189 创建的。发现有各种德国 美国的IP,因此可以确认是中毒了。
2025-11-23 05:14:55
421
原创 五大消息模型介绍(RabbitMQ 详细注释版)
1.simple消息模型一个生产者 一个队列 一个消费者在此种消费模型下,若消费者对消息的处理速度较慢。那么当生产者不断向队列发送消息时,便会造成堵塞。2.work消息模型一个生产者 一个队列 多个消费者由此模型衍生的 -> 能者多劳:消费者性能高的可以多消费消息3. fanout消息模型一个生产者 一个交换机 多个队列 多个消费者这种模型下,生产着会将消息发送至交换机。再由交换机以广播的形式发送给所有消费者,由消费者在自己相应的队列获取消息。这种模型存在一个缺点,就是无法对消息进行过滤。
2025-11-23 04:06:39
383
原创 [MySQL] MySQL复合查询(多表查询、子查询)
前面我们学习了MySQL简单的单表查询。但是我们发现,在很多情况下单表查询并不能很好的满足我们的查询需求。。希望本篇文章会对你有所帮助。在对本篇文章学习之前,首先说明一下本篇文章所用到表的结构和内容。
2025-11-23 02:58:17
745
原创 SpringCloud-持久层框架MyBatis Plus的使用与原理详解
MyBatis 是一个优秀的 ORM 框架,它通过 XML 或注解的方式将 Java 方法与 SQL 语句进行映射,并且可以灵活地控制 SQL 执行的各个细节,提供极高的自由度。它广泛应用于项目中,尤其是在对 SQL 语句要求比较严格的场景中。MyBatis Plus 是在 MyBatis 的基础上进行增强的持久层框架,专注于简化 MyBatis 的开发工作。它封装了常用的 CRUD 操作,极大地减少了开发者编写 SQL 的工作量。其目标是“更少的配置,更多的功能”,通过插件机制提供更强大的功能扩展。
2025-11-23 01:49:34
731
原创 redis info 详解
info Commandstats模块,是Redis命令统计信息,包含各个命令的命令名、总次数、总耗时、平均耗时。info Stats模块,是Redis的基础统计信息,包含了:连接、命令、网络、过期、同步等很多统计信息。info CPU模块,包含了Redis进程和子进程对于CPU消耗的一些统计信息。info Persistence模块。info Keyspace模块。info Clients模块。info Server模块。info Memory模块。info Stats模块。info CPU模块。
2025-11-22 20:14:15
303
原创 MySQL数据库的数据文件保存在哪?MySQL数据存在哪里
在安装好MySQL数据库使用一段时间后,会产生许多的数据库和数据。那这些数据库的数据文件存放在本地文件夹的什么位置呢一、默认位置MySQL创建的数据库实际上存储在文件系统的一个特定目录中,该目录通常为MySQL的数据目录。这个目录的默认位置依据操作系统和MySQL的安装方式不同而有所差异。、这个目录通常位于,它可能位于是个隐藏文件夹)**其中“X.X”是MySQL的版本号。目录(每个数据库都有一个与其同名的文件夹,而这个文件夹中包含了该数据库的所有表的文件,而其中的文件代表了数据库中的表。
2025-11-22 19:02:56
595
原创 Linux下安装Nginx服务及systemctl方式管理nginx详情
将下载好的nginx压缩包上传至刚才所建的目录中/usr/local/nginx(我习惯用CRT这个工具,大家可以根据自己的喜好)------[也可以在此目录下直接下载使用(确保安装了wget 没有安装可以 yum install -y wget 下载一个)在linux中进入上传nginx的文件夹/usr/local/nginx并解压。命令将编译完成的程序和相关文件复制到系统的适当位置,使其可以被系统和用户访问。),更具自己想要的版本下载相应的tar.gz包。下载完成后解压就可以了]------
2025-11-22 17:52:26
959
原创 Spring 核心技术解析【纯干货版】- XII:Spring 数据访问模块 Spring-R2dbc 模块精讲
Spring R2DBC 模块,是 Spring 生态系统中用于支持反应式编程模型与关系型数据库交互的一个模块R2DBC(Reactive Relational Database Connectivity)是一个基于 Reactive Streams 规范的异步、非阻塞的数据库访问技术,它旨在为现代应用程序提供高性能的数据访问能力,特别是在需要高吞吐量和低延迟的场景下。
2025-11-19 05:25:39
304
原创 python爬虫——爬取全年天气数据并做可视化分析
children: 返回当前节点的直接子节点的迭代器。descendants: 返回当前节点的所有子孙节点的迭代器。接着爬取我们这个月的天气信息,存入列表中,然一次性写入我们的csv文件中,这样我们就得到了一个存有泉州2022全年天气情况的文件。find_all(): 查找所有匹配到的节点,并返回一个列表。因为绘制的图形是动态的天气轮播图,而此时我们日期的数据类型为字符串,要将类型改为datetime。parent: 返回当前节点的父节点。parents: 返回当前节点的所有祖先节点的迭代器。
2025-11-19 04:11:02
408
原创 mysql怎么查看
通过以下命令查看 mysql 数据库:连接到服务器:mysql -u 用户名 -p 密码运行 show databases;命令获取所有现有数据库选择数据库:use 数据库名;查看表:show tables;查看表结构:describe 表名;查看数据:select * from 表名;首先需要使用 MySQL 客户端连接到服务器。命令将返回一个结果集,其中包含所有现有数据库。
2025-11-19 02:56:17
370
原创 Linux系统下安装配置 Nginx 超详细图文教程_linux安装nginx
1、修改配置端口和默认访问页面#找到nginx的配置文件,编辑#这里放置的是nginx默认显示的页面。
2025-11-19 01:40:23
285
原创 将 vue3 项目打包后部署在 springboot 项目运行
服务端需要增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个index.html页面,这个页面就是你 app 依赖的页面。检查前端的 vue-router 使用历史模式还是哈希模式,历史模式(HTML5 模式)需要后端额外配置,配置参考上文。在 vite.config.js(.ts) 设置开发或生产环境服务的公共基础路径(base配置项),这里不使用相对路径。检查 index.html ,查看 script 和 link 标签的地址,应该是绝对路径(不含./)
2025-11-18 22:30:48
480
原创 在 Windows 上生成本地 SSL 证书并使用 HTTPS 访问本地 Nginx 服务器
通过以上步骤,你已成功在 Windows 环境中生成本地 SSL 证书,并配置 Nginx 以支持 HTTPS。使用 HTTPS 进行本地开发可以确保你的应用在实际部署时符合安全要求,并提供更好的用户体验。如果你遇到任何问题或有任何疑问,请在评论区留言讨论。
2025-11-18 22:04:52
269
原创 使用 Certbot 为 Nginx 自动配置 SSL 证书
删除证书:sudo certbot delete --cert-name name_of_certificate。在写配置文件时只需写80端口,Certbot会自动添加443端口的监听以及SSL证书的配置。Certbot将自动与Let`s Encrypt的服务器通信,验证域名,请求SSL证书。列出所有Certbot管理的证书:sudo certbot certificates。运行Certbot自动安装SSL证书。若自动更新失效,Lets Encrypt会在证书失效前发邮件提醒。
2025-11-18 21:38:59
352
原创 【Spring】配置文件的使用
Value适合读取单个简单属性。适用于一组相关的属性,可以是集合或Map,能更好地组织属性。配置文件的内容可以灵活地根据需要进行管理和访问,使得Spring应用程序的配置更为集中和清晰。
2025-11-18 21:13:11
344
原创 SQL Server 数据库迁移到 MySQL 的完整指南
将 SQL Server 数据库迁移到 MySQL 是一个复杂的过程,涉及多个步骤和注意事项。通过合理的规划和工具的使用,可以大大降低迁移的难度和风险。希望本文能够帮助你顺利完成数据库迁移,并在新的环境中获得更好的性能和成本效益。??如果你在迁移过程中遇到任何问题,欢迎在评论区留言,我会尽力为你解答。
2025-11-17 06:53:34
647
原创 SpringBoot Maven 项目 pom 中的 plugin 插件用法整理
把 SpringBoot Maven 项目打包成 jar 文件时,我们通常用到 spring-boot-maven-plugin 插件。前面也介绍过,在 spring-boot-starter-parent POM 和 spring-boot-starter POM 中都有插件的管理,现在我们就撸一把构建元素中插件的用法。project 标签指定项目的声明。modelVersion 标签指定 POM 模型的版本。目前使用的是 4.0.0 版本。这是 Maven 项目的根元素,定义了项目模型的版本。
2025-11-17 05:31:55
840
原创 RabbitMQ 的介绍与使用
消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。其主要用途:不同进程Process/线程Thread之间通信。那么为什么会产生消息队列呢?有几个原因:不同进程(process)之间传递消息时,两个进程之间耦合程度过高,改动一个进程,引发必须修改另一个进程,为了隔离这两个进程,在两进程间抽离出一层(一个模块),所有两进程之间传递的消息,都必须通过消息队列来传递,单独修改某一个进程,不会影响另一个;
2025-11-17 04:11:56
357
原创 MYSQL批量UPDATE的两种方式
建议使用方式一,或者其优化方式(JDBC批处理)。各位也可以与AI对话看看给出的建议是什么。有问题一定要留言啊各位。及时发现及时改错。
2025-11-17 02:51:10
381
原创 Linux下PostgreSQL-12.0安装部署详细步骤
其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。至此,已完成postgreql的安装。进入/opt/pgsql/postgresql目录可以看到安装后的postgresql的文件。
2025-11-17 01:30:04
592
原创 如何在docker中的mysql容器内执行命令与执行SQL文件
通过 docker ps -a 查询当前运行的容器,找到想执行命令的容器名称。若想执行sql文件,则将sql文件放入当前文件夹下后将项目内的 SQL 文件拷贝到 mysql 容器内部的 root下。然后进入 mysql 容器内部。进入mysql容器内部执行以下命令后回车,输入数据库密码进入 mysql 数据库如图:切换到对应的数据库下,例如数据库 zd,记得后面要加分号use zd;
2025-11-16 23:47:24
578
原创 十七:Spring Boot依赖 (2)-- spring-boot-starter-web 依赖详解
REST(Representational State Transfer)是一种通过 HTTP 协议与 Web 服务交互的架构风格。RESTful Web 服务遵循一系列约定,通常使用 HTTP 方法(如 GET、POST、PUT、DELETE)来进行资源的创建、查询、更新和删除操作。每个资源通常由一个 URL 唯一标识,且资源的数据通常以 JSON 返回。**跨域(Cross-Origin)**是指浏览器在不同的域、协议、端口之间进行资源请求的行为。
2025-11-16 23:22:25
710
原创 三大框架-Spring
spring框架是以一个分层架构,有七个定义良好的模块组成,Spring模块构建在核心容器之上,核心容器定义了创建,配置和管理bean方式:1.Spring Core:核心容器 ,提供Spring的基本功能.2.SPring Contest:Spring上下文,是一个配置文件3.Spring AOP : Spring 中面向切面编程4…Spring Dao:用于管理异常与抛出错误的信息5.Spring ORM: 提供ORM对象关系工具6.Spring Web: 用于处理请求与处理参数绑定的工作。
2025-11-16 22:41:24
735
原创 SQL Server 2019安装详细教程(图文详解,非常靠谱)
Microsoft SQL Server 是一种关系数据库管理系统 (RDBMS)。应用程序和工具连接到 SQL Server_实例_或_数据库_,并使用(T-SQL) 进行通信。SQL Server Management Studio (SSMS) 是一种集成环境,用于管理任何 SQL 基础结构。使用 SSMS 访问、配置、管理和开发 SQL Server、和的所有组件。
2025-11-16 14:37:22
452
原创 redis服务器 本地连接
我所用的是阿里服务器 安全组 6379端口一定要开启来。如果想用命令行 可以网上找一下(也挺简单的)这个是宝塔页面的配置 直接配置文件修改走起。(如果没有好的软件 推荐一下可视化软件。然后就可以在自己的可视化软件上面用了。记得要重启一下redis。
2025-11-16 12:42:29
402
原创 SpringBoot的@Scheduled和@Schedules有什么区别
对于更复杂的需求,比如调整线程池大小或者设置线程名称前缀等,你可以通过自定义来进行配置。Spring提供了几种内置的调度器实现,如和。@Override@Override@Override// 自定义异常处理逻辑。
2025-11-15 14:07:41
666
原创 图文详述:MySQL的下载、安装、配置、使用
参考一:https://blog.youkuaiyun.com/weixin_39289696/article/details/128850498。系统变量中,选中 Path 变量,点编辑,在新弹出来的编辑环境变量中点击新建,填入。我们这里选第二个(包含32位和64位安装包,会自动适配),下载到本地后进行安装。win+r 打开运行窗口,输入cmd,点回车,进入命令行窗口,输入。注意:这里编辑的是系统变量中的 Path 变量,不是用户变量中。如果出现黄色感叹号警告,表示名称重复了,可自行更换其他名称。
2025-11-15 00:36:36
1247
原创 Tomcat下载,安装,配置终极版(2024)
那么本章内容就到此结束了,如果你不想去官网下载,那我这里也给你提供了Tomcat的安装包。里面是10.20的版本,供你下载。Thank you!链接:https://pan.baidu.com/s/1n8bjvHEFa0ZsX_04k3HX9Apwd=vryp提取码:vryp。
2025-11-14 16:32:45
914
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅