自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Spring Security系列】Spring Security 过滤器详解与基于JDBC的认证实现

上文说到,Spring Security它是一个强大的和高度可定制的身份验证和访问控制框架。它提供了一套丰富的功能,用于保护基于Spring的应用程序。上文又说到,在Spring Security中,过滤器(Filter)是一个重要的组件,用于处理身份验证、授权和其他安全相关的任务。Spring Security 的过滤器链由多个过滤器组成,每个过滤器负责处理特定的安全任务。当请求到达应用程序时,它会依次通过过滤器链中的每个过滤器,直到到达目标资源。

2025-11-30 00:40:19 779

原创 Redis队列和阻塞队列

普通的redis队列,为了实现业务,通常会使用while进行循环,这样的话没有消息时依旧会频繁的执行循环,造成cpu的空转,所以一般会在代码中增加sleep来解决该问题,但因此又会造成消息延迟问题。使用 BRPOP 这种阻塞式方式拉取消息时,还支持传入一个「超时时间」,如果设置为 0,则表示不设置超时,直到有新消息才返回,否则会在指定的超时时间后返回 NULL。redis队列提供了 “阻塞式” 拉取消息的命令:BRPOP / BLPOP,这里的 B 指的是阻塞(Block)。下面是某业务完整的消费者代码。

2025-11-29 19:19:19 128

原创 mysql之数字函数

当然,以下是一些常用的 MySQL 数学函数的详细介绍和示例,包括调用这些函数后的结果。

2025-11-29 16:43:19 137

原创 docker启动redis简单方法

建议将以下内容放在一起,方便以后管理和查看。

2025-11-29 14:00:42 145

原创 比较Spring AOP和AspectJ

它与我现有的或新的应用程序兼容吗?在哪里可以实施AOP?它与我的应用程序集成的速度有多快?性能开销是多少?在本文中,我们将着眼于回答这些问题,并介绍Spring AOP和AspectJ(这两种最流行的Java AOP框架)。下表概述了Spring AOP和AspectJ之间的主要区别:Spring AOPAspectJImplemented in pure Java-- 用纯Java实现。

2025-11-29 03:41:11 359

原创 【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)

在项目中,我们自定义一个类,如果我们想把这个类交给ioc容器管理,加上@Component衍生注解即可,如果这个类不是我们自己自定义的,是我们引入第三方依赖中的,而且我们还想把这个类交给ioc容器管理,那么我们应该定义一个方法,在这个方法上加上@Bean在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!

2025-11-29 01:08:22 258

原创 Spring之FactoryBean详解

Spring中有BeanFactory接口,也有FactoryBean接口。注意不要混淆两者。《Spring之BeanFactory详解》

2025-11-28 22:33:16 362

原创 Spring Boot 3.4 正式发布,结构化日志!

通过将注入到@Bean方法中来定义动态属性的功能已被弃用,现在默认会导致失败。替代方法是实现一个单独的@Bean方法,返回一个,此方法应注入属性值来源的容器。这种方式解决了一些容器生命周期问题,并确保属性值来源的容器在属性被使用之前已经启动。如果仍希望注入(需承担可能的生命周期问题),可以将设置为warn或allow。前者会记录警告但允许注入,后者则会完全恢复 Spring Boot 3.3 的行为。在类型匹配时,基于 Bean 的条件现在会忽略非默认候选 Bean。

2025-11-28 19:44:43 215

原创 MySQL如何给查出的数据 加上序号

定义用户变量i,设置初始值为0,然后将它作为派生表使用,AS定义了表的别名。3、

2025-11-28 17:10:11 306

原创 docker启动redis简单方法

建议将以下内容放在一起,方便以后管理和查看。

2025-11-27 10:01:28 353

原创 【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则

本地电脑安装的sql server数据库可视化工具ssms连接到外网服务器的sql server数据库,实现本地化远程链接数据库进行管理和操作。

2025-11-26 21:43:02 345

原创 【JavaEE】Spring Web MVC

官方文档介绍:翻译:Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从一开始就包含在 Spring 框架中。正式名称“Spring Web MVC”来自其源模块的名称 (spring-webmvc),但更常见的名称是“Spring MVC”。与 Spring Web MVC 并行,Spring Framework 5.0 引入了一个反应式堆栈 Web 框架,其名称“Spring WebFlux”也基于其源模块 (spring-webflux)。

2025-11-26 20:33:10 397

原创 SQL Server2019安装步骤+使用+解决部分报错+卸载(超详细 附下载链接)

第一步:进行下载,直接点击安装SSMS进行下载(我的电脑找不到网页)。第十步:安装,安装完成,查看是否成功,若成功代表已安装完成,点击关闭。库,根据需求设置相关内容,点击确定,找到想要操作的数据库,新建查询。第五步:安装成功之后找到安装的位置双击进行安装。第三步:进行安装,不要修改安装路径,点击安装。第九步:选这四个满足基本需求,接着下一步。连接服务器时,点击选项,勾选信任服务期证书。第二步:打开安装包,并选择基本.第四步:选择安装位置,点击安装。第三步:选择语言,并选择接受。第二步:登陆,点击连接。

2025-11-26 19:24:10 371

原创 SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪

进入 D:apache-skywalking-apm-8.9.1apache-skywalking-apm-binin ,双击运行 startup.bat(7.x及以下版本 APM 包里面有包括 Agents,但是8.x的就发现被分开了,所以8.x的及以上的 就需要 Agents 也得下载。再看 Skywalking(http://localhost:8080/) 页面那边,你就会发现有个这个图(表示连接上了)启动后,控制台日志输出开头出现了以下的记录,就表示连接上Skywalking了。

2025-11-26 18:12:36 323

原创 Spring Cloud Gateway 整合Spring Security

在Security中用户信息需存放在中,是一个接口,可以使用Security已经实现的,也可以实现接口自定义用户信息类。/***/@Data/*** token*//***//***//***//*** location*//***//***//*** 用户名*//*** 账号密码*//*** 权限列表*/@Override@Override@Override/***/@Override。

2025-11-26 16:50:28 252

原创 【SQL注入】Sqlmap使用指南(手把手保姆版)持续更新

sqlmap 是一款开源的渗透测试工具,可以自动化进行SQL注入的检测、利用,并能接管数据库服务器。它具有功能强大的检测引擎,为渗透测试人员提供了许多专业的功能并且可以进行组合,其中包括数据库指纹识别、数据读取和访问底层文件系统,甚至可以通过带外数据连接的方式执行系统命令。python sqlmap.py -参数,sqlmap可以运行在python2.6、2.7和3.x的任何平台上。

2025-11-25 15:46:49 393

原创 【mybatis】基本操作:详解Spring通过注解和XML的方式来操作mybatis

在 MyBatis 中,通过 XML 文件定义数据库字段和 Java 属性的映射是实现数据持久化的重要步骤。这个映射过程允许你将 SQL 结果集中的列与 Java 对象的属性相对应,确保数据在两者之间正确转换。在 Mapper XML 文件中,使用resultMap元素来定义 SQL 查询结果与 Java 对象字段之间的映射关系。下面是一个示例的-- 定义结果映射 -->-- 使用结果映射进行查询 --></select>-- 插入用户 --></insert></mapper>

2025-11-25 14:33:34 787

原创 SQL server配置ODBC数据源(本地和服务器)

此处配置完成后会直接进入下一步,否则会显示错误信息,需要检查是否有访问服务器权限、端口号、用户密码以及服务器IP等信息;若成功,直接弹出下一步。4. 登录ID 和密码需要是远程SQL server的登录ID和密码,此外需要点击客户端配置,不要动态分配端口号,指定服务器分配的端口号。5. 选择ID和密码验证,并填写本地SQL server登录ID和密码。3. 名称之后要用到,是远程的DSN名称,服务器即远程服务器IP。4. 名称和描述自己填,服务器选择本机设备名称。2. 选择“系统DSN”,点击“添加”

2025-11-25 13:20:37 151

原创 SpringBoot整合JWT

一. JWT简介1. 什么是JWT?JWT(JSON Web Token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证;应用场景如用户登录。JWT详细讲解请见 github:https://github.com/jwtk/jjwt2. 为什么使用JWT?

2025-11-25 12:03:20 843

原创 Spring Cloud Alibaba 组件版本选择

如果不想跨分支升级,如需使用新特性,请升级为对应分支的新版本。下表为按时间顺序发布的 Spring Cloud Alibaba 以及对应的适配 Spring Cloud 和 Spring Boot 版本关系(由于 Spring Cloud 版本命名有调整,所以对应的 Spring Cloud Alibaba 版本号也做了对应变化)如果需要使用 Spring Cloud Greenwich 版本,请在 dependencyManagement 中添加如下内容。2.0.4.RELEASE(停止维护,建议升级)

2025-11-25 10:43:03 1002

原创 Redis五种用途

Redis是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。- Redis支持数据的备份,即master-slave模式的数据备份。

2025-11-24 19:47:13 326

原创 Nginx—Rewrite

匹配输入字符串的起始位置匹配输入字符串的结束位置匹配前面的字符零次或多次匹配前面的字符一次或多次匹配前面的字符零次或一次匹配除 之外的任何单个字符转义字符,使后面的字符被视为普通字符或特殊字符d匹配数字(相当于[0-9]{n}匹配前面的字符恰好 n 次{n,}匹配前面的字符至少 n 次{n,m}匹配前面的字符至少 n 次,至多 m 次[]定义字符集,匹配括号内的任意单个字符[c]匹配单个字符 c[a-z]匹配小写字母中的任意一个匹配所有大小写字母或数字()

2025-11-24 18:25:36 610

原创 MySQL中DROP、TRUNCATE和DELETE

操作影响范围删除方式事务支持性能触发器外键约束支持自动增长重置可恢复性DELETE删除表中的数据逐行删除支持较慢支持支持不重置可回滚TRUNCATE删除表中的所有数据批量删除不支持较快不支持不支持重置不可回滚DROP删除整个表删除表及数据不支持非常快不支持不支持无不可回滚。

2025-11-24 14:29:05 442

原创 linux 设置tomcat开机启动

在Linux系统中,要配置Tomcat开机自启动,可以创建一个名为 tomcat.service 的 systemd 服务文件,并将其放置在 /etc/systemd/system/ 目录下。确保 JAVA_HOME、CATALINA_HOME、CATALINA_BASE 等环境变量设置正确,并且 ExecStart 指向正确的Tomcat启动脚本路径。打开conf/server.xml,找到下面代码,添加属性maxDays=“30”。这样配置后,无论系统重启还是启动,Tomcat都将作为服务自动启动。

2025-11-24 13:18:45 350

原创 docker拉取mysql5.7镜像报错Error response from daemon Get “httpsregistry-1.docker.iov2“

修改配置文件(删除源数据,直接复制粘贴,wq退出即可)进入/etc/docker/daemon.json。

2025-11-24 12:00:52 881

原创 redis 使用

(没有选择数据库的情况下 默认第0个数据库 )(删除第二个数据库 所有数据)

2025-11-23 05:11:18 205

原创 Nginx 生成、配置SSL证书&让浏览器信任证书

注:-extfile private.ext -extensions SAN 是指告诉OpenSSL从private.ext文件中读取[SAN]下扩展的定义,并将其应用到正在生成的证书中。下面 以上文 “模拟CA机构方式生成证书(生成证书方式二,推荐)” 方式安装CA证书到本地,让浏览器信任证书。注:在访问网站使用的IP或者域名,必须是 subjectAltName 下指定的域名或者IP。正常情况下,用浏览器访问自签名的证书网站,那么浏览器会提示当前网站不安全,证书不受信任。安装证书,让浏览器信任证书。

2025-11-23 04:01:30 561

原创 MySQL——表操作及查询

MySQL的操作中,一些专用的词无论是大写还是小写都是可以通过的。"[]"表示可有可无,插入时,如果不指定要插入的列,则表示默认全部列都要插入数据,插入数据的顺序必须和列的顺序一致。如果插入单行数据,则只需一个"()“,如果想要多行插入,则可以同时追加多个”()"。此外,由于主键或者唯一键对应的值已经存在而导致插入失败,则可以更新数据:除这条语句之外,还有一条语句,名为替换,也可以解决主键或唯一键冲突问题:如果没有发生冲突,就相当于直接插入,如果发生冲突,则删除原有数据,重新插入新数据。全列查询指定列查询查

2025-11-23 02:51:23 709

原创 knife4j+springboot3.4异常无法正确展示文档

通过分析异常日志发现是ControllerAdviceBean类报错,在springboot3.3.5时spring-web版本是6.1.14,springboot3.4版本是6.2.0版本。结论:期待knife4j-openapi3-jakarta-spring-boot-starter早日升级,兼容最新版本的spring;knife4j-openapi3-jakarta-spring-boot-starter版本。原来使用springboot3.3.5版本,先升级到3.4.0版本。

2025-11-23 01:41:43 201

原创 docker启动redis简单方法

建议将以下内容放在一起,方便以后管理和查看。

2025-11-23 00:24:45 256

原创 Redis 下载与安装 教程 windows版

设置键值对,通过key获取value,设置key的过期时间为5秒,5秒后查看所有的key现实name已经被删除。在命令中输入ping命令来检测redis服务器与redis客户端的连通性,返回PONG则说明连接成功了。,目前仍在维护,目前最新版本是 5.0.14,更新速度跟Redis官网也相差好几个大版本。为了方便,建议把Redis路径配置到系统变量Path值中,这样就省得再输路径了。redis.windows.conf可以省略,省略后,使用。下载好后找一个位置解压,例如我的位置是D:/Redis/

2025-11-21 14:25:53 367

原创 Nginx 常用安全头

Web 应用中配置 HTTP 安全响应头是提升网站安全性的重要一步。合理配置 Nginx 的安全头,可以抵御常见的安全威胁(如 XSS、点击劫持、MIME 类型嗅探等),增强用户隐私保护和传输安全性。:限制资源(如脚本、样式、图片等)的加载来源,防止 XSS 和数据注入攻击。<object><embed>iframe注意事项:如果需要加载第三方资源(如 CDN),需显式添加来源。避免使用和,减少 XSS 风险。

2025-11-21 13:16:04 595

原创 MySQL——表操作及查询

MySQL的操作中,一些专用的词无论是大写还是小写都是可以通过的。"[]"表示可有可无,插入时,如果不指定要插入的列,则表示默认全部列都要插入数据,插入数据的顺序必须和列的顺序一致。如果插入单行数据,则只需一个"()“,如果想要多行插入,则可以同时追加多个”()"。此外,由于主键或者唯一键对应的值已经存在而导致插入失败,则可以更新数据:除这条语句之外,还有一条语句,名为替换,也可以解决主键或唯一键冲突问题:如果没有发生冲突,就相当于直接插入,如果发生冲突,则删除原有数据,重新插入新数据。全列查询指定列查询查

2025-11-21 12:06:36 906

原创 knife4j+springboot3.4异常无法正确展示文档

通过分析异常日志发现是ControllerAdviceBean类报错,在springboot3.3.5时spring-web版本是6.1.14,springboot3.4版本是6.2.0版本。结论:期待knife4j-openapi3-jakarta-spring-boot-starter早日升级,兼容最新版本的spring;knife4j-openapi3-jakarta-spring-boot-starter版本。原来使用springboot3.3.5版本,先升级到3.4.0版本。

2025-11-21 10:57:08 265

原创 docker启动redis简单方法

建议将以下内容放在一起,方便以后管理和查看。

2025-11-21 09:48:00 258

原创 MySQL数据库的数据文件保存在哪?MySQL数据存在哪里

在安装好MySQL数据库使用一段时间后,会产生许多的数据库和数据。那这些数据库的数据文件存放在本地文件夹的什么位置呢一、默认位置MySQL创建的数据库实际上存储在文件系统的一个特定目录中,该目录通常为MySQL的数据目录。这个目录的默认位置依据操作系统和MySQL的安装方式不同而有所差异。、这个目录通常位于,它可能位于是个隐藏文件夹)**其中“X.X”是MySQL的版本号。目录(每个数据库都有一个与其同名的文件夹,而这个文件夹中包含了该数据库的所有表的文件,而其中的文件代表了数据库中的表。

2025-11-20 11:21:27 270

原创 MySQL--》理解锁机制中的并发控制与优化策略

锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中除了传统的计算机资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素,从这个角度来说锁对数据库而已尤为重要也更加复杂。按照锁的粒度细分,对于MySQL中的锁主要分为以下三类:1)全局锁:锁定数据库中的所有表2)表级锁:每次操作锁住整张表3)行级锁:每次操作锁住对应的行数据。

2025-11-20 10:39:05 536

原创 macOs安装docker且在docker上部署nginx+php

v ~/project/nginx/conf.d:/etc/nginx/conf.d 将主机的 ~/project/nginx/conf.d 目录挂载到容器的 /etc/nginx/conf.d。-v ~/project/www:/usr/share/nginx/html 将主机的 ~/project/www 目录挂载到容器的 /www。–link myphp:php 将 myphp 容器的网络并入 nginx 容器,实现容器间的通信。如果想将docker内的文件与docker外的文件相关关联。

2025-11-20 09:56:08 622

原创 JAVA进阶 Thread学习06 synchronized关键字

这里就相当于一个类的对象使用了带有synchronized的方法,synchronized锁就锁上了.这个时候其他对象如果需要使用带synchronized的方法就得等待这个对象运行结束.先说说什么是不可重入吧.不可重入就是一个人等完厕所后,上了厕所把门锁上了,然后自己闪现到厕所外并且失忆了,只记得在等厕所.这时候厕所是锁上的自己也进不去,一个对象拥有多个带有互斥锁(同步锁)的方法.其中方法一个方法二都是带有互斥锁的方法,方法二调用方法一.顾名思义,就是可以重新进入自己使用的"厕所".

2025-11-20 09:13:58 728

原创 docker启动redis简单方法

建议将以下内容放在一起,方便以后管理和查看。

2025-11-19 19:53:41 158

空空如也

空空如也

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

TA关注的人

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