- 博客(172)
- 收藏
- 关注
原创 【SpringBoot】带你一文彻底搞懂RestController和Controller的关系与区别
是和的组合注解,用于创建 RESTful 风格的 API。返回的数据会直接作为响应的主体内容(JSON 或 XML),不进行页面跳转或视图解析。用于传统的 MVC 架构,负责处理请求并返回视图作为响应。方法通常需要配合注解,才能将返回值作为响应的主体内容。传统的springMVC一般就需要直接返回视图,而现在新兴的前端技术vue在项目中为前后端分离的架构,前端框架负责处理数据和渲染页面,而后端 API 则负责提供数据即可,所以对返回视图的要求也就比较少了。
2025-11-27 04:05:04
295
原创 [MySQL] MySQL复合查询(多表查询、子查询)
前面我们学习了MySQL简单的单表查询。但是我们发现,在很多情况下单表查询并不能很好的满足我们的查询需求。。希望本篇文章会对你有所帮助。在对本篇文章学习之前,首先说明一下本篇文章所用到表的结构和内容。
2025-11-27 03:04:46
278
原创 SpringBoot实战:高效实现API限流策略
你可以创建一个全局异常处理器来捕获// 你可以在这里添加其他异常处理器的定义这样,当限流器阻止请求时,客户端将收到一个带有状态码的响应。
2025-11-27 01:04:56
331
原创 Spring Boot整合WebSocket
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时数据交换,而无需每次都重新建立连接。WebSocket 的核心特性包括:双向通信:客户端和服务器都可以主动发送和接收消息。低延迟:由于 WebSocket 连接是持久的,消息可以立即传递,而不需要重复的 HTTP 请求。节省资源:通过减少 HTTP 请求的开销,WebSocket 可以节省带宽和服务器资源。
2025-11-27 00:04:24
260
原创 VScode 开发 Springboot 程序
创建成功之后,输入cd 项目名称 进入项目目录下,然后输入 code . 即可之间在VScode集成环境下,打开项目;在终端中输入 mvn spring-boot:run 启动 springboot 程序;输入 mvn archetype:generate。在浏览器中输入 localhost:8080。选择模板,一般默认选择为第 7 种方式;填写完之后在键盘上按y再回车即可;
2025-11-25 05:33:41
306
原创 SpringBoot获取bean的几种方式
ApplicationObjectSupport类图入下,我们看到它实现了ApplicationContextAware接口,在Spring容器初始化过程中回调方法setApplicationContext来完成ApplicationContext的赋值。通过实现ApplicationContextAware接口,在Spring容器启动时将ApplicationContext注入进去,从而获取ApplicationContext对象,这种方法也是常见的获取Bean的一种方式,推荐使用。
2025-11-25 04:13:10
689
原创 Spring Boot 整合 Keycloak
本文介绍了如何如何设置了 Keycloak 服务器,以及如何在 Spring Boot 中使用 Spring Security OAuth2.0 结合 Keycloak 实现认证和授权。
2025-11-25 02:52:54
238
原创 Nginx搭建负载均衡
负载均衡是将用户请求分发到多台服务器的一种技术,确保多个服务器共同承担负载,从而提升应用的可用性与响应速度。通过负载均衡,系统能够在某台服务器出现故障时,自动将流量转发至其他健康的服务器,避免单点故障带来的影响。使用Nginx搭建负载均衡能够有效提升系统的可用性和扩展性。通过合理的配置和优化,Nginx不仅可以分担流量,还能确保高效响应。负载均衡在现代Web架构中至关重要,帮助企业应对高并发请求,提升用户体验。希望本文能够为你搭建和维护Nginx负载均衡提供指导和帮助,助力你的应用在高流量场景中稳定运行。
2025-11-25 01:33:13
554
原创 MySQL--》理解锁机制中的并发控制与优化策略
锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中除了传统的计算机资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素,从这个角度来说锁对数据库而已尤为重要也更加复杂。按照锁的粒度细分,对于MySQL中的锁主要分为以下三类:1)全局锁:锁定数据库中的所有表2)表级锁:每次操作锁住整张表3)行级锁:每次操作锁住对应的行数据。
2025-11-25 00:13:09
908
原创 准确-NGINX 1.26.2配置正向代理并编译安装的完整过程
配置正向代理并编译安装的完整过程,使用了。打开 NGINX 配置文件。检查防火墙是否阻止了端口。
2025-11-24 06:21:51
127
原创 【MySQL】MySQL复合查询--多表查询自连接子查询
查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的。显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)单行子查询是指子查询只返回单列,单行数据;查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J。这里使用分组查询即可,先查出最高的工资,然后查询工资等于最高工资的员工的姓名和工作岗位。显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号。的,而多列子查询则是指查询返回多个列数据的子查询语句。
2025-11-24 04:57:17
732
原创 spring整合mybatis详细步骤
6.总结:在我看来呢,这种方法确实将mybatis运用到了spring中,也很好的减少一些代码量,不过我觉得很多代码都跟mybatis一样仅仅是挪了个地方,这种方法也很好的复习了mybatis的使用方法,总之学习使我快乐!2.在spring的核心配置文件中配置连接数据库的jdbc配置:(个人想法:其实就是将mybatis中的核心配置文件中连接数据库的配置移了个位置)到这来咱们简单的spring整合mybatis就全部完成啦!5.有了前面的一些准备工作呢那咱们就可以做一个简单的测试啦!
2025-11-24 03:32:23
734
原创 Spring 多实例注入
Spring 容器中保存的 bean 默认是单例的,通常来说这样做可以降低 bean 对象创建的频率,在某些访问量大的场景下可以节省对象创建消耗的时间,提高响应性能。但在一些其他场景,比如脚本调度处理多个消息队列中的消息,这时候拉取各个队列消息的步骤是完全相同的,只不过各条队列的名称和密码不一样,显然可以使用一个专门的。自动注入无法保证每次获取的都是新的实例,一个解决方法是通过 Spring 的。,这样每次从 Spring 容器中获取其实例的时候都会返回一个新的对象。指定类的代理模式,这样使用注解。
2025-11-24 02:07:01
472
原创 PostgreSQL 向量扩展插件pgvector安装和使用
重新修改.bash_profile,配置PG_CONFIG和LD_LIBRARY_PATH,指定安装的postgresql 16.3版本。make编译调用的postgresql不是之前安装的 16.3,而是apt-get 安装的10.23版本。利用pgvector 前提是事先安装好postgresql,安装postgresql例可参考下文。make编译pgvector时无法识别安装的postgresql。安装的版本不是最新的版本而是10.23。pgvector的安装成功。
2025-11-24 00:42:08
789
原创 精准删除:掌握SQL中的DELETE语句
其中,DELETE语句是用于从数据库表中删除数据的重要工具。本文将详细解释如何使用SQL的DELETE语句来删除数据,并提供实际的代码示例,帮助你精确控制数据的删除过程。通过本文的介绍,你应该能够理解DELETE语句的用法,并学会如何在实际应用中安全、有效地删除数据。掌握SQL中的DELETE语句,将使你能够更加精准地控制数据的生命周期,为你的数据管理和分析提供坚实的基础。软删除是一种删除策略,通过设置一个标志位而不是真正从数据库中删除数据。这将标记ID为1的客户记录为已删除,而不是真正从数据库中删除。
2025-11-23 05:27:58
127
原创 修改表字段属性,SQL总结
可以改变字段的数据类型、长度、默认值或注释,但不会更改字段名称。varchar转为mediumtext。NVARCHAR2 转为NCLOB。将需要修改的字段的值设置给临时字段。修改临时字段的名字为需要修改字段名。可以同时更改字段名称及其属性。varchar转为text。新增临时字段为NCLOB。,并将其数据类型改为。来修改字段的默认值。
2025-11-23 04:19:27
287
原创 【mysql】ERROR 1819 (HY000) Your password does not satisfy the current policy requirements的解决方案
创建mysql新用户的时候,提示如下错误。因为你设置的密码没有满足系统当前的密码安全策略要求。解决方案:出现错误信息 “Your password does not satisfy the current policy requirements” 通常是因为你设置的密码没有满足系统当前的密码安全策略要求。这种情况通常发生在你为 MySQL 用户或系统用户设置密码时。
2025-11-23 03:11:14
293
原创 Spring安装和使用(Eclipse环境)
1、 什么是SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
2025-11-23 02:03:09
569
原创 spring session、spring security和redis整合的简单使用
通过user进行登录,再次查看redis,我们可以发现先前的sessionId改变了,同时还多出了一条数据"spring:session:index:org.springframework.session.FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME:user",这条数据就是我们刚登陆的user。点击Log Out退出登录,然后再出查看redis,我们会发现之间的增加的那条用户数据不见了。访问SessionController中的。
2025-11-23 00:52:08
247
原创 Redis安装教程(超详细)
解决办法:1、改为2、将改为3、设置redis秘密,注意如果不行,可以尝试重启服务器试试设置密码后登陆需要如下图操作OK。
2025-11-22 20:27:09
795
原创 mysql配置环境变量——(‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法)
当想在在(window+R输入cmd按Enter)命令提示符,打开MySQL运行时,出现‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件可能是没有配置mysql配置环境变量或者配置路径有错误。
2025-11-22 19:16:20
316
原创 MySQL - Navicat自动备份MySQL数据
对于从事IT开发的工程师,数据备份我想大家并不陌生,这件工程太重要了!对于比较重要的数据,我们希望能定期备份,每天备份1次或多次,或者是每周备份1次或多次。如果大家在平时使用Navicat操作数据库,Navicat是自带备份功能的,操作如下首先,来设置一下Navicat保存备份以及SQL语句的路径博主使用Navicat16新建或者编辑连接实例时,点击“”,选择“”,替换为需要保存的地址即可。
2025-11-22 18:06:40
796
原创 CORS:跨域访问、如何在Nginx中配置允许跨域访问
跨域访问(Cross-Origin Resource Sharing, CORS)是浏览器安全策略的一部分,用于控制不同源(origin)之间的资源共享。当一个网页尝试从不同的源(协议、域名或端口中的任何一个不同)加载资源时,就会触发跨域访问问题。
2025-11-22 16:55:28
124
原创 保姆级JavaWeb项目创建、部署、连接数据库(tomcat)
本学期学的javaweb,记录一些本篇大致内容就是:部署tomcat–创建项目—连接mysql数据库运行环境:tomcat-8.5.46、JDK1.8、mysql80(也写了mysql57的设置)
2025-11-22 14:57:43
665
原创 【python】pyspark.errors.exceptions.base.PySparkRuntimeError [JAVA_GATEWAY_EXITED] Java gateway proce
综上所述,安装Java8,再安装合适版本的spark,spark版本和pyspark版本一致更不会出错,配置好JAVA_HOME,SPARK_HOME,PYSPARK_PYTHON。只要环境配置好和版本正确的话就没问题了。
2025-11-22 13:47:56
658
原创 Windows上安装Go并配置环境变量(图文步骤)
GOPATH和GOROOT的配置略有不同,我建议配置两个GOPATH目录,第一个用于放 Go 语言的第三方包,第二个用于放自己的开发代码。点击系统变量下的新建,在变量名一栏输入GOPATH,在变量值一栏输入任意两个目录,中间用英文分号隔开。点击系统变量下的新建,在变量名一栏输入 GOROOT ,在变量值一栏输入 你解压文件所在的目录D:路径go。然后将新建的GOROOT配置到 Path 这个环境变量中去,在系统变量中找到 Path,点击编辑->新建,输入%GOROOT%in,点击确定。
2025-11-20 17:41:05
211
1
原创 Spring总结(上)
1. 使用构造函数2. 使用静态工厂3. 使用实例化工厂Bean对象类:1.对象注入PersonDaoBean对象类:PersonServiceBean对象类:方法一:方法二:注意:方法一中的一个dao对象可被多个service bean对象使用,但方法二却只能使用一次2.基本类型注入3.集合类型的装配Spring容器注入的配置:测试:通过构造器传入参数注入值:配置如下:
2025-11-20 16:48:20
251
原创 SpringBoot下获取resources目录下文件的常用方法
不想折腾的同学可以直接用method3和method4的方法来使用,也可以将模板和资源文件外置,通过绝对路径获取对应文件。有好的方法也欢迎大家一起交流沟通~
2025-11-20 15:55:22
267
原创 Spring Boot 热部署
在开发过程中,通常会对一段业务代码不断地修改测试,在修改之后往往需要重启服务,有些服务需要加载很久才能启动成功,这种不必要的重复操作极大地降低了程序开发效率。为此,Spring Boot框架专门提供了进行热部署的依赖启动器,用于进行项目热部署,而无需手动重启项目。
2025-11-20 15:02:13
278
原创 PostgreSQL 向量扩展插件pgvector安装和使用
重新修改.bash_profile,配置PG_CONFIG和LD_LIBRARY_PATH,指定安装的postgresql 16.3版本。make编译调用的postgresql不是之前安装的 16.3,而是apt-get 安装的10.23版本。利用pgvector 前提是事先安装好postgresql,安装postgresql例可参考下文。make编译pgvector时无法识别安装的postgresql。安装的版本不是最新的版本而是10.23。pgvector的安装成功。
2025-11-20 14:10:17
754
原创 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-19 05:35:39
362
原创 MySQL的DELETE(删除数据)详解
MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDER BY和LIMIT以及优化事务,可以显著提高DELETE语句的执行效率。
2025-11-19 03:05:55
294
原创 MS SQL Server 实战 统计与汇总重复记录
如图可以看出,统计汇总结果清晰的反映出了重复记录的情况,即 count(title)>1 的 ct 字段值,值大于1 的表示该题目出现的个数。另外命令结果增加了4个行,包括单选题统计共 248 题,多选题统计共 113 题,判断题统计共 293 题,总数统计共 654 题。主要是通过 case when 语句对 title 字段进行判断 ,为NULL值的表示汇总行,则进行 isnull(etype,‘总数’)+‘统计情况:’ 的字符串拼接,etype字段为 NULL 值的表示总数的统计行。
2025-11-19 01:50:38
392
原创 5分钟快速搭建一个 SpringBoot3 + MyBatis-Plus 工程项目
刷新后,在工程名 + Application的文件中可以启动这个。创建SpringBoot工程,这里有两种方式可选,一种是使用。为了测试是否配置成功,我们创建数据库mybatis。来检查是否连接成功,如下图所示,连接成功。在下方的终端输出可以看出,项目启动在。创建该项目的spring配置文件,在。在下方的终端输出可以看出,项目启动在。是用于简化类开发,修改后,记得更新。,没有修改配置需求时可以不写东西。最后,和自动创建一样,创建一个。等待项目创建完成,修改。自动创建,一种是通过。文件,配置数据库连接。
2025-11-19 00:31:02
375
原创 RabbitMQ 客户端 连接、发送、接收处理消息
(3) 如果 RabbitMQ 服务收到消息,就转发给 注册接收消息接口的 连接,如果接收的连接标记了 AutoDelete,那么发送给客户端后,RabbitMQ 就会将消息从消息队列中删除。而 RabbitMQ 的消费消息(接收消息) 也仅仅是接收消息,它不管是谁发的消息,只要是发送的 RabbitMQ 服务的消息,它都能接收,注册接收消息,我的客户端就会收到 RabbitMQ 发送过来的消息,消息中包含发送上来的消息内容,还有发送消息的 queue 名字。
2025-11-18 10:43:50
401
原创 net.sf.jsqlparser.statement.select.Select.getSelectBody()
发生这个问题就是因为Pagehelper中jsqlparser和Mybatis-puls中jsqlparser冲突,以我的项目来说,我项目中的Pagehelper中jsqlparser版本为4.2而Mybatis-puls中jsqlparser的版本为4.9,就导致版本兼容问题。如果你想以Pagehelper中jsqlparser的版本来使用的话,那么项目将启动不起来,就比如拿我的项目来说,如果我在pom文件中添加。你可以提升一下pagehelper的版本 这是maven中央仓库。
2025-11-18 03:43:34
248
原创 MySQL——数据库的操作
注:1)数据库在创建的时候是不能重复的,此时就可以在创建的时候,加上一个修饰,来应对上述问题;3)如果这个记录条件成立,就要保留,进行列上的表达式计算(第三步定义的别名,where是第二步执行的,执行where的时候,total还处于“未定义”的状态)需要再数据库中保存中文,mysql默认的字符集是拉丁文,不支持中文,必须要在创建数据库的时候,手动指定编码方式为支持中文编码(GBK , UTF8)在查询的时候,写作由列名构成的表达式,把这一列中的所有行都带入到表达式中,参与运算。
2025-11-18 02:38:59
286
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅