自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringMVC新版本踩坑[已解决]

找了一晚上问题所在,发现可能是新版本调整了参数,而spring会自动帮助设置,导致编译时选项“-参数”被禁用。也就是错误信息中的最后提示:Ensure that the compiler uses the ‘-parameters’ flag.总结:在做参数传递时,需要多留心@PathVariable注解的使用,有时严格按照其使用方法也许是一个好的习惯。大部分场景这个设置生效的,但是进行测试后,发现仍然没有用。但是在尝试后并未发现有作用,于是继续寻找其他解决方法。至此,终于在各种尝试中解决了问题。

2026-03-26 16:59:06 97

原创 SpringBoot集成Flink-CDC,实现对数据库数据的监听

CDC 是(变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、 更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。/*** 反序列化数据,转为变更JSON对象*/@Override//5.获取操作类型 CREATE UPDATE DELETE2 : 3;//7.输出数据/*** 从元数据获取出变更之前或之后的数据*/= null) {

2026-03-26 16:37:19 221

原创 SpringBootInvalid bound statement (not found)的原因和解决方案

查看相对应的mapper中的接口是否添加了**@mapper注解**且点击其跳转标志确认是否关联。3.检查 mapper namespace的路径是否和其mapper实例类的路径是否一致。情况四:mapper.xml未放到指定的resource文件中,将其移动至其文件即可。

2026-03-26 13:05:49 22

原创 Spring Cloud :Hystrix实现优雅的服务容错

作为Spring Cloud体系内实现熔断机制的关键组件,Hystrix承担着服务容错保护的重要职责。它由Netflix开源,旨在为分布式系统提供延迟处理和容错解决方案。其核心作用在于引入延迟容忍与容错逻辑,精细管理分布式服务间的交互,确保系统的高可用性和鲁棒性。在复杂分布式系统环境中,往往涉及数十个应用,这些应用依赖于多个项目。不可避免地,每个依赖项目都有可能在某个时刻遭遇失败并触发故障。若未对这些故障实施有效隔离措施,整个分布式系统可能面临崩溃风险。

2026-03-26 12:10:45 236

原创 Spring aop 五种通知类型

其他通知,只能做记录工作,不能做处理,所以执行顺序其实对整个程序影响不大,没有必要太深究。五大通知类型中,环绕通知功能最为强大,因为环绕通知,可以控制目标方法是否执行。Spring 版本不一样,通知执行顺序可能也会存在差异。如果需要记录异常信息,使用异常通知。

2026-03-26 11:14:08 159

原创 springboot设置多环境配置文件

实际开发过程中会涉及多个环境,比如dev(开发环境),test(测试环境),prod(线上环境),不同环境下,端口号、数据库地址、redis地址等等会不尽相同,为了避免每次上线到不同环境都要修改配置文件可以在项目中配置多个配置文件,需要哪个激活哪个。激活的是dev环境,所以项目启动时会读取application-dev.yml,使用的是8081的端口号。激活的是prod,此时读的是profile: profile的块,所以端口号是8087。1、在配置文件中激活,上面的实例就是使用的这种方式。

2026-03-25 23:26:24 258

原创 SpringBoot 如何调用 WebService 接口

调用WebService接口的方式有很多,今天记录一下,使用 Spring Web Services 调用 SOAP WebService接口根据接口给出的SAOP的示例,封装好对应的实体类,因为我这里的类型都是String,大家也可以根据实际情况,封装好对应的类注意注解的参数,namespace = “http://*******/” 给接口提供的域名地址。

2026-03-25 22:41:50 17

原创 Spring Boot接收参数的19种方式

可以通过实现来自定义参数解析逻辑。

2026-03-25 21:57:34 218

原创 Spring Boot中集成MyBatis操作数据库详细教程

在Java开发中,MyBatis是一款轻量级且灵活的持久层框架,支持SQL语句和自定义映射,尤其适合需要复杂SQL操作的应用场景。结合Spring Boot,我们可以更加方便地使用MyBatis进行数据操作。本篇文章将手把手地介绍如何在Spring Boot项目中集成MyBatis,并实现基础的增删改查操作。我们会从依赖配置开始,到实体类、Mapper接口、Service和Controller的创建,最终形成一个简洁易用的应用结构。在包中创建。

2026-03-25 16:47:09 289

原创 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模块。

2026-03-25 15:33:15 24

原创 在Spring Boot项目中引入本地JAR包的步骤和配置

通过本文的介绍,读者可以了解到如何在Spring Boot项目中引入本地JAR包并进行相应的配置。无论是使用Maven还是Gradle,本文提供的步骤和代码示例都可以帮助开发者顺利完成本地JAR包的引入和使用。本文将详细介绍如何在Spring Boot项目中引入本地JAR包的步骤和配置,并提供相应的代码示例。假设我们有一个名为my-library.jar的本地JAR包,并且它位于项目的根目录下的libs文件夹中。引入本地JAR包后,可以在Spring Boot项目中使用其中的类和方法。

2026-03-24 23:19:39 134

原创 MySQL 中如何进行 SQL 调优

如果排序数据量小,MySQL会在内存中完成排序,如果数据量超过sort_buffer_size,会发生磁盘文件排序,磁盘排序涉及临时文件的创建和多次IO,性能更差!当对无索引字段排序时,MySQL无法利用索引的有序性,必须将数据加载到内存中进行排序,这就是filesort,filesort是一个非常耗费资源的操作。解释最左匹配原则:最左匹配原则是指在使用联合索引时,必须按照索引的顺序从左到右使用,不能跳过索引中的列。,去查找完整的行数据,这个“回到主表查找 city 列”的过程就是。

2026-03-18 03:21:07 193

原创 Go Web框架全面对比:哪一款最适合你的项目?

如果你需要构建高性能的RESTful API,并且希望框架简单易用,Gin和Echo是最佳选择。如果你的应用需要实时通信(如WebSocket),Fiber是一个极好的选择,它在性能和开发体验上都表现出色。对于企业级应用或需要MVC架构的项目Beego提供了一个完整的解决方案。如果你正在构建微服务架构,且需要高度灵活的路由和中间件支持,Chi是非常合适的选择。每种框架都有其适用的场景,了解框架的特点和使用场景,可以帮助你更高效地完成Web开发任务。

2026-03-18 00:56:24 258

原创 springboot下使用druid-spring-boot-starter

Druid声称是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能。spring boot starter自动装配组件,简化组件引入的开发工作量,所以Druid推出了druid-spring-boot-starter。

2026-03-17 16:00:20 356

原创 Spring bean名称

当有多个相同类型的实现时,命名一个Spring bean非常有用。这是因为 bean 没有唯一的名称,那么注入 bean 对 Spring 来说是不明确的。通过控制 bean 的命名,可以告诉 Spring 要将哪个 bean 注入目标对象。当需要在同一个 Spring 上下文中创建多个相同类型的 bean 时,可以为这些 bean 提供自定义名称并使用这些名称来引用它们。这一次,Spring 将创建名为“ myBean”的MyCustomComponent类型的 bean。

2026-03-17 13:34:30 148

原创 Nginx更换ssl证书不生效

在用的ssl证书要过期了,申请了新的ssl证书下来,在nginx配置上更换上去后,打开系统地址,一依然是使用原来的旧证书,以前有更换过别的域名证书,重启nginx服务后立马就生效了。这次没生效,看着旧证书还有几天才过期,想着有可能是要等到旧证书过期后,新证书会自动生效,等到了旧证书过期后再看新证书还是没生效,访问系统域名已经提示证书过期了。将新的ssl证书放到一个新目录下(不放在旧证书同目录下)修改nginx的证书配置位置,重启服务,打开系统域名,新的证书生效了。修改配置文件ssl证书路径。

2026-03-17 11:12:11 28

原创 MySQL篇之对MySQL进行参数优化,提高MySQL性能

innodb_flush_log_at_trx_commit:控制事务提交时日志的刷新策略。tmp_table_size 和 max_heap_table_size 控制内存中临时表的最大大小。如果设置为 1,每次写入二进制日志都会同步到磁盘,保证事务的持久性,但会带来一定的性能开销。磁盘 I/O 是数据库性能的重要瓶颈,合理配置与磁盘相关的参数有助于减少磁盘访问次数,提高性能。下面是一些常用的查询优化参数。MySQL 的日志记录可以帮助我们在故障时进行诊断,但是过多的日志记录会增加系统的负担。

2026-03-17 05:12:12 329

原创 linux 设置tomcat开机启动

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

2026-03-17 02:34:38 179

原创 成功解决springboot:Application run failed,org.springframework...BeanDefinitionStoreException报错问题

我的项目是先添加以下两个依赖,再配置了一个启动类Application01。当我运行启动类却有如下的报错:通过各种搜索和研究找到了原因:该项目的jdk版本是17,而父工程的启动器版本是2.1.9.RELEASE。因为这两个版本的不兼容导致了报错。Spring Boot各版本与Java版本的对应兼容关系,与构建工具(Maven、Gradle)版本的对应兼容关系,对servlet 容器的支持_springboot java版本-CSDN博客由于使用的是jdk17,javax.annotation不存在,需要加上

2026-03-15 13:13:46 287

原创 图解缓存淘汰算法 LRU、LFU | 最近最少使用、最不经常使用算法 | go语言实现

无论是什么系统,在研发的过程中不可避免的会使用到缓存,而缓存一般来说我们不会永久存储,但是缓存的内容是有限的,那么我们如何在有限的内存空间中,尽可能的保留有效的缓存信息呢?那么我们就可以使用 LRU/LFU算法,来维持缓存中的信息的时效性。

2026-03-15 12:05:48 332

原创 三分钟内快速完成MySQL到达梦数据库的迁移

由于业务需求要求数据库国产化,因此近期需要将数据从mysql数据库中迁移到国产达梦数据库中。本次使用达梦新的数据库开发和管理工具–SQLark百灵连接进行迁移,我也是在官方社区里看到大家推荐才试的,使用SQLark迁移30G左右的数据,几分钟就搞定了,而且**一次迁移成功率高达 90% 以上!

2026-03-15 10:57:21 329

原创 【MySQL】to_date()日期转换

TO_DATE()是一个在 SQL 中广泛使用的函数,用于将字符串转换为日期格式。不同的数据库系统(如 Oracle、SQL Server、PostgreSQL、MySQL 等)对TO_DATE()函数的支持和语法可能有所不同,但基本思想是一致的:将一个表示日期和/或时间的字符串转换为数据库可以识别的日期类型。

2026-03-15 04:07:30 42

原创 spring整合mybatis详细步骤

6.总结:在我看来呢,这种方法确实将mybatis运用到了spring中,也很好的减少一些代码量,不过我觉得很多代码都跟mybatis一样仅仅是挪了个地方,这种方法也很好的复习了mybatis的使用方法,总之学习使我快乐!2.在spring的核心配置文件中配置连接数据库的jdbc配置:(个人想法:其实就是将mybatis中的核心配置文件中连接数据库的配置移了个位置)到这来咱们简单的spring整合mybatis就全部完成啦!5.有了前面的一些准备工作呢那咱们就可以做一个简单的测试啦!

2026-03-15 01:34:54 225

原创 redis设置过期时间

需要注意的是,在 Redis 中,即使某个键已经过期,也不一定会立即被删除,因为 Redis 会定期地检查待删除列表,并删除那些过期时间已到的键。同时,在设置过期时间的时候,应该根据业务的实际情况和系统的负载来调整过期时间,以达到既能保证并发安全,又能尽量避免因为过期时间过短而频繁获取锁、因为过期时间过长而导致资源被长时间占用的效果。Redis 设置过期时间的意思是为一个 key 设置一个时间窗口,在这个时间窗口内,该 key 可以被访问和使用,到达时间窗口后,Redis 会自动删除过期的 key。

2026-03-14 11:59:23 283

原创 PLSQL执行.sql文件

原文链接:https://blog.csdn.net/iamlzyoco/article/details/136322981。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。2.打开plsql选择命令窗口,即选择File->New->Command Window;注意:一定记得最后一步,提交后,才能查询到更新后的数据。中选择需要执行的.sql文件,最后点击打开。3.输入@然后按回车键,在弹出来的文件。

2026-03-14 10:46:17 55

原创 Navicat 连接 SQL Server 详尽指南

Navicat 是一款功能强大的数据库管理工具,它提供了直观的图形界面,使用户能够轻松地管理和操作各种类型的数据库,包括 SQL Server。本文将详尽介绍如何使用 Navicat 连接到 SQL Server 数据库,包括安装设置、连接配置、常见问题排查及高级功能使用。

2026-03-14 03:26:34 333

原创 mysql中general_log日志详解

1.记录范围:这个log里面会记录MySQL所有的SQL语句,不管是查询语句,还是DML语句,还是DDL语句,还是DCL语句,这些语句统统都会被记录在general log文件中。就连我们连接和断开MySQL数据库的这些语句。2.记录顺序:MySQL会把它收到的所有SQL语句按照接收的顺序依次记录在general log中。

2026-03-14 02:11:25 160

原创 maven导入spring框架

spring-jdbc包括了一些如jdbcTemplate的工具类。4.Spring test依赖:方便做单元测试和集成测试。在eclipse导入maven项目,在pom.xml文件中加入以下内容。2.Spring dao依赖。3.Spring web依赖。1.Spring核心依赖。

2026-03-14 00:56:57 243

原创 idea创建springBoot的五种方式

使用jar包创建就行,也是maven项目,jdk选1.8,但是下面的java没有8的,没关系,先选上,后面创建成功了再改。最后一种就是自己先创建一个普通的maven项目,然后自己手动搭建成一个springboot项目。点创建之后他会生成一个压缩包,然后解压,用idea打开就行了。其他选择跟第一种一样,不过这里jdk有8的版本了。也是下载成一个压缩包,然后解压,用idea打开。idea直接从spring.io官网下载。都选择好之后点获取代码,选下载就行。idea从阿里云官网下载。从spring官网上下载。

2026-03-13 23:29:32 231

原创 【Spring Boot】统一数据返回

其实统一数据返回非常简单,在实现时要加入类注解@ControllerAdvice(这是一个表示控制通知的注解,在接下来的统一异常处理也要运用到),在添加类注解后还要在实现ResponseBodyAdvice接口,然后重写接口的responseAdvice接口和beforeBodyWriter方法即可实现。其实统一数据返回是运用了AOP(对某一类事情的集中处理)的思维,简单概括就是在我们进行前后端数据交互的时候,能够让后端的数据进行统一的打包封装,返回给前端,便于前后端的数据处理。

2026-03-13 19:17:29 272

原创 芋道源码(无遮羞布版)Spring Boot 全景指南

芋道源码()项目基于Spring Boot构建,旨在提供一个全面且易于定制的企业级应用框架。│├── gitignore # Git忽略文件配置├── LICENSE # 开源许可协议MIT├── README.md # 项目读我文件,包含项目说明和访问文档方式├── pom.xml # Maven项目的主POM文件,定义依赖和构建设置│├── mysql_script # 数据库初始化脚本│├── yudao-dependencies # Maven依赖版本管理模块。

2026-03-13 03:19:41 247

原创 史上最厉害的Java进阶之路

2026-03-13 00:38:01 221

原创 SQL-触发器(trigger)的详解以及代码演示

触发器是一种特殊的存储过程,但是触发器不存在输入和输出参数,所以不能被显式的去调用,而是与特定的表相关联,当表中的数据发生变化时,触发器被激活并执行其定义的SQL代码。触发器可以是行级触发器(针对每一行数据变化)或语句级触发器(针对整个SQL语句的变化),行级触发器允许对每一行单独处理,而语句级触发器则在整个操作完成后执行一次。这个查询将返回触发器的名称、父对象(表或视图)的名称、触发器的类型(如AFTER、INSTEAD OF)以及触发事件(如INSERT、UPDATE、DELETE)。

2026-03-12 08:29:20 204

原创 springboot 文件下载

org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。当然,在出现错误时,我在想是不是application/octet-stream的问题,也使用过multipart/form-data,但也是一样的结果。在springboot中,执行如下代码实现文件下载。找了很久的解决方法,但是没有发现什么正确的答案。

2026-03-12 00:43:50 229

原创 Redis——使用 python 操作 redis 之从 hmse 迁移到 hset

环境。

2026-03-11 19:32:49 179

原创 Nginx 安装及配置教程(Windows)【安装】

只需要启动一个 Nginx 服务器,将 server_name 设置为 font_server,然后设置相应的 location 以拦截前端需要跨域的请求,最后将请求代理回 github.com。现在 http://domain 对 http://font_server发起请求一定会出现跨域。# 设置gzip所需的http协议最低版本 (HTTP/1.1, HTTP/1.0)如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源。# 设置压缩级别,压缩级别越高压缩时间越长 (1-9)

2026-03-11 00:59:33 323

原创 MySQL —— 配置文件

本篇文章要介绍的是 MySQL 中的配置文件的相关内容。大多数 MySQL 程序都可以从配置文件(选项文件)中读取启动配置,可以在配置文件中指定常用配置,这样就不用在每次运行程序时都在命令行中输入它们。大部分配置文件都是纯文本格式,可以使用任何编辑器来进行创建。在 Windows 系统中,MySQL 配置文件的后缀名为.ini 或 .cnf,在 Linux 系统中,MySQL 配置文件的后缀名只有.cnf。

2026-03-10 05:45:26 378

原创 ERROR 1524 (HY000) Plugin ‘mysql_native_password‘ is not loaded

你遇到的错误是由于 MySQL 版本不再默认支持认证插件导致的。从 MySQL 8.0 开始,默认的认证插件是,而不是。

2026-03-10 01:44:29 175

原创 完美解决phpstudy安装后mysql无法启动

数据库无法启动有以下几个原因。**一、**自己在电脑上安装了MySQL数据库,MySQL的服务名为MySQL,这会与phpstudy的数据库的服务名发生冲突,从而造成phpstudy中的数据库无法启动,这时我们只需要将自己安装的MySQL的服务名改掉就行。但是!!!不建议,太麻烦了,还要重新装因为我还有在web开发,删了就导致原有数据丢失,太麻烦了。

2026-03-09 05:07:08 78

原创 【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装

在PHP5.4版本之前,Nginx处理PHP的流程是调用php-fpm,php-fpm再创建进程,调用php-cgi,以此实现了Ngixn对PHP的解析问题,此时php-fpm起到的是管理php-cgi的作用。fast-cgi协议改进了进程的处理模式,当一次通信完成后,通信进程会得以保留,不会杀死通信使用的进程,其他的通信还可以继续使用这个进程,这样一来,就大大提升了系统资源使用效率。最后,信息安全是一个持续的过程,需要不断地学习和更新知识,跟踪最新的漏洞和攻击技术,并采取相应的防护措施。

2026-03-09 01:04:39 354

空空如也

空空如也

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

TA关注的人

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