- 博客(83)
- 收藏
- 关注
原创 Spring Cloud Nacos配置管理
Nacos 作为配置中心,实现了配置的集中管理,当配置更新时,不需要重启应用立即生效,同时配置的修改具有版本管理功能,便于审计和回滚等操作。此外对于一些敏感信息放到配置中心,通过权限控制增加安全性。
2026-04-04 06:07:06
395
原创 nginx 代理 redis
本案例旨在演示nginx代理redis,借用kubernetes运行的redis实例进行演示,真实项目一般数据流向为F5到SLB(HAProxy)到Kubernetes集群部署的容器里部署的应用。只适用于pod为1,如果有多个pod则通过LoadBalancer分发到任何节点上,如果节点上的redis没有同步则后续get值可能会返回nil。kubernetes 发布的redis服务端口为 31250。配置nginx.conf。
2026-04-04 03:07:11
35
原创 Spring Data 什么是Spring Data 理解
Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性。它使数据访问技术,关系数据库和非关系数据库,map-reduce框架和基于云的数据服务变得简单易用。这是一个伞形项目,其中包含许多特定于给定数据库的子项目。这些项目是通过与这些激动人心的技术背后的许多公司和开发人员合作开发的。: 致力于减少数据访问层(DAO)的开发量。开发者唯一要做的,就只是声明持久层的接口,其他都交给Spring Data JPA 来帮你完成!
2026-04-02 06:41:24
358
原创 Nginx 生成、配置SSL证书&让浏览器信任证书
注:-extfile private.ext -extensions SAN 是指告诉OpenSSL从private.ext文件中读取[SAN]下扩展的定义,并将其应用到正在生成的证书中。下面 以上文 “模拟CA机构方式生成证书(生成证书方式二,推荐)” 方式安装CA证书到本地,让浏览器信任证书。注:在访问网站使用的IP或者域名,必须是 subjectAltName 下指定的域名或者IP。正常情况下,用浏览器访问自签名的证书网站,那么浏览器会提示当前网站不安全,证书不受信任。安装证书,让浏览器信任证书。
2026-04-02 03:25:02
351
原创 AI框架之Spring AI与Spring Cloud Alibaba AI使用讲解
在软件开发的世界中,Java一直是企业级应用的主力军。而Spring框架,尤其是Spring Boot,以其生态系统的丰富性,为开发者提供了无与伦比的便利。现在,Spring Boot正迈向一个新的纪元——人工智-能的时代。Spring AI项目的推出,不仅标志着Spring生态的进一步扩展,也为广大Java开发者开启了一个全新的编程领域。Spring AI是从著名的Python。
2026-04-01 22:27:16
310
原创 网络安全防护指南:筑牢网络安全防线(510)
网络是指由计算机或者其他信息终端及相关设备组成的按照一定的规则和程序对信息收集、存储、传输、交换、处理的系统。在当今数字化时代,网络已经成为人们生活和工作中不可或缺的一部分。它连接了世界各地的人们,使得信息的传递和交流变得更加便捷高效。
2026-04-01 20:16:22
316
原创 如何使用Spring Boot框架整合Redis:超详细案例教程
成功在 Spring Boot 项目中整合了 Redis 并配置了连接池。我们使用连接池可以显著提高 Redis 操作的性能和资源管理效率。了解了这些基础知识后,接下来将详细介绍如何在Spring Boot项目中整合Redis,包括依赖配置、连接设置、基本操作和应用案例。启动应用程序后,可以选中通过 Postman 或浏览器访问以下 URL,验证 Redis 操作是否成功。将Spring Boot与Redis整合可以充分利用两者的优势,简化开发并提升应用性能。目录下,添加 Redis 连接池的配置。
2026-04-01 18:57:46
164
原创 专题二:Spring源码编译
在中我们从整体模块对Spring有个整体的印象,现在正式从最基础的Spring模块进一步学习,第一步当然是下载源码,因为Spring是用的Gradle编译,对于我们大部分使用Maven做jar包管理的还是不太熟悉,因此记录下。
2026-04-01 04:52:52
434
原创 sql中COALESCE函数详解
在SQL中,COALESCE函数是一个非常有用的函数,用于从其参数列表中返回第一个非NULL值。如果所有给定的参数都是NULL,那么COALESCE函数将返回NULL。这个函数可以接受多个参数,使其在处理可能出现的NULL值时非常灵活和强大。
2026-04-01 01:46:41
162
原创 Spring Boot项目接收前端参数的11种方式
RequestParam主要用于在Spring MVC后台控制层获取参数,它有三个常用参数。参数名描述表示设置默认值required表示该参数是否必传value值表示接收传入的参数的key@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出URL模板中的变量作为参数。@RequestBody该注解会把接收到的参数转为JSON格式。
2026-03-31 05:00:50
253
原创 MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
mysql 5.7.5版本以上默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。但是,如果mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。这里说sql_mode不能设置NO_AUTO_CREATE_USER这个值,那直接去掉这个值就行了呗,也就是上面我提供的值。由于开启了ONLY_FULL_GROUP_BY的设置,如果select 的字段不在 group by 中,
2026-03-31 01:47:52
147
原创 Java面向对象(进阶)
其优点在于他可以隐藏私有数据,让使用者只能通过公共的访问方法来访问这些字段,有利于限制对数据的不合理访问,保护对象信息的完整性。Java接口时一系列方法的声明,是一些方法特征的集合。一个接口只有方法的特征而没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类。Java继承是一种使用已存在的类的定义作为基础去建立新类的技术,新类的定义可以增加新的数据或新的功能,也能使用父类的功能。
2026-03-30 11:15:26
31
原创 index.php 和 php
index.php是一个常见的文件名,在许多基于 PHP 的 web 应用程序中用作默认的入口文件。它通常被用来处理用户请求、加载必要的资源、执行逻辑并最终返回 HTML 内容给浏览器。在 Web 服务器(如 Apache 或 Nginx)上,配置通常会将index.php设为默认文件,当用户访问某个目录时,如果该目录下存在index.php,服务器会自动加载这个文件。例如,当用户在浏览器中输入时,实际加载的可能是。index.php。
2026-03-30 10:28:10
337
原创 C#数据库操作系列---SqlSugar完结篇
之前介绍了针对单个表的查询,同样也是相对简单的查询模式。虽然开发完全够用,但是难免会遇到一些特殊的情况。而下面这些方法就是为了解决这些意料之外。
2026-03-30 09:41:25
383
原创 redis的启动方式
设置为开机自启动,直接配置开启自启动 chkconfig redisd on 发现错误: service redisd does not support chkconfig。将启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务)。可以为redis服务启动指定配置文件,例如配置为/etc/redis/6379.conf。#加上‘&’号使redis以后台程序方式运行。3.使用redis启动脚本设置开机自启动。redis的启动方式。
2026-03-30 07:13:53
28
原创 MySQL中DROP、TRUNCATE和DELETE
操作影响范围删除方式事务支持性能触发器外键约束支持自动增长重置可恢复性DELETE删除表中的数据逐行删除支持较慢支持支持不重置可回滚TRUNCATE删除表中的所有数据批量删除不支持较快不支持不支持重置不可回滚DROP删除整个表删除表及数据不支持非常快不支持不支持无不可回滚。
2026-03-30 03:41:15
339
原创 Tomcat的升级
拷贝原Tomcat内容到新Tomcat目录下,webapps下源码、conf下配置文件(比如server.xml文件[可以直接覆盖,但是备份一份再覆盖更佳])tar -zcvf oldTomcat.tar.gz 旧版本Tomcat目录。下载地址(官网):https://tomcat.apache.org/进入tomcat下bin目录,启动tomcat。老版本bin目录下,停止Tomcat服务。给新版本Tomcat目录添加执行权限。上传升级包至服务器对应目录。
2026-03-28 11:27:18
230
原创 Spring Boot整合Redisson的两种方式
Redis是一个开源的内存数据库,支持多种数据类型,如字符串、哈希、列表、集合和有序集合等,常用于缓存、消息队列、计数器、分布式锁和搜索等应用场景。Redisson则是一个基于Redis实现的Java驻内存数据网格,提供了一系列分布式的Java常用对象和多种锁机制,以及分布式服务,使开发者能更集中于处理业务逻辑。Redisson不支持字符串操作、排序、事务、管道、分区等Redis特性,但Redisson 提供了许多其他功能,如分布式闭锁、分布式计数器、分布式信号量等。
2026-03-28 00:20:36
170
原创 MySQL常用的关键字(详细)
使用小写字母书写关键字是SQL的常见约定,有助于提高代码的可读性。datetime 日期和时间组合数据类型。varchar 可变长度字符串数据类型。where 用于过滤查询结果的条件。having 用于过滤分组后的结果。order by 指定结果集的排序。else 用于条件语句中的其他情况。limit 限制查询返回的记录数。update 更新表中的现有记录。create 创建新的数据库对象。into 指定插入数据的目标表。values 指定插入数据的值。set 指定要更新的列及其新值。
2026-03-27 12:18:04
217
原创 AI框架之Spring AI与Spring Cloud Alibaba AI使用讲解
在软件开发的世界中,Java一直是企业级应用的主力军。而Spring框架,尤其是Spring Boot,以其生态系统的丰富性,为开发者提供了无与伦比的便利。现在,Spring Boot正迈向一个新的纪元——人工智-能的时代。Spring AI项目的推出,不仅标志着Spring生态的进一步扩展,也为广大Java开发者开启了一个全新的编程领域。Spring AI是从著名的Python。
2026-03-27 08:11:38
357
原创 SpringSecurity 实现token 认证
Autowired@Override//1、获取请求头携带的tokenif(!//不需要token的路由可以直接放行return;response.getWriter().write(JSON.toJSONString(Result.failed(401,"token 非法","")));return;//放行。
2026-03-26 17:00:28
4
原创 SpringBoot【实用篇】- 测试
有一种情况是:当我们测试业务层或者Dao层会留下结果数据,真实的企业开发会生成两个sql文件一个数据库的表创建的sql,一个数据库初始化的sql,但是当我们在开发的时候仍然需要测试仍然会留下数据,但是我们是想着我们测试只是想看看写的代码有没有问题,不需要留下数据,下面说的方法只服务于开发,上线后的另说。答案是在这个测试类properties属性添加的临时属性配置中会覆盖yml的配置。用args配也是可以的,使用args属性可以为当前测试用例添加临时的命令行参数。能不能在测试样例中测试表现层呢?
2026-03-26 13:07:34
148
原创 Spring Data JDBC 详解
spring-data-jdbc的方便好用、可扩展性进一步显现出来了,如果想分页查询的话,Spring-data-jdbc提供了另外一个接口PagingAndSortingRepository,也可以使用@Query()注解支持原生的sql写入,参数使用过@Param()注入,接收的时候按照顺序接收,但要用 :id来标记接收对应的参数。简单总结就是: 没有拦截在和缓存,每次执行完的SQL得到的就是一个指定想要的完整实体,没有关联的查询或更新操作,没有session, 更简单、高效。
2026-03-26 12:12:16
379
原创 Spring Boot + Spring AI快速体验
Spring AI是Spring的一个子项目,是Spring专门面向于AI的应用框架。Spring AI 项目旨在简化整合人工智能功能的应用程序开发,避免不必要的复杂性。汲取了著名的 Python 项目 LangChain 和 LlamaIndex 的灵感,但 Spring AI 并不是这些项目的直接移植。该项目的成立的信念:下一波生成式人工智能应用程序不仅将面向Python开发人员,而且将在许多编程语言中无处不在。@Bean。
2026-03-26 11:15:33
316
原创 SpringBoot读取properties中文乱码解决方案
在IDEA中将所有的编码设置为UTF-8,同时勾上Transparent native-to-ascii conversion的选项,然后重新创建application.properties的文件。由于业务需求需要在application.properties中配置一个带有中文字符串的参数,注入到业务类中,但是发现注入的中文是乱码的。就是将application.properties的文件修改为application.yml的结构,重启项目。
2026-03-25 23:27:38
178
原创 Springboot 整合 Quartz(定时任务框架)
Quartz是 OpenSymphony 开源组织在 Job scheduling 领域又一个开源项目,完全由 Java 开发,可以用来执行定时任务,类似于 java.util.Timer。持久性作业 - 就是保持调度定时的状态;作业管理 - 对调度作业进行有效的管理;
2026-03-25 22:42:58
342
原创 Spring Boot整合Redisson的两种方式
Redis是一个开源的内存数据库,支持多种数据类型,如字符串、哈希、列表、集合和有序集合等,常用于缓存、消息队列、计数器、分布式锁和搜索等应用场景。Redisson则是一个基于Redis实现的Java驻内存数据网格,提供了一系列分布式的Java常用对象和多种锁机制,以及分布式服务,使开发者能更集中于处理业务逻辑。Redisson不支持字符串操作、排序、事务、管道、分区等Redis特性,但Redisson 提供了许多其他功能,如分布式闭锁、分布式计数器、分布式信号量等。
2026-03-25 21:58:45
202
原创 Spring boot创建时常用的依赖
1.springboot项目的总(父)依赖大全<parent></parent>当我们使用 spring 或 spring-boot 开发项目时,需要引入很多依赖,包括 spring 本身的组件、各种 spring-boot-starter、以及其它第三方依赖(如:slf4j、redis)。依赖多了,版本的选择是个问题,就怕哪个版本选择的不对导致出现一些意想不到的 BUG。spring-boot-dependencies的作用主要是起到约束版本的作用,在这个包里面声明了各种版本号,供子项目去引用。
2026-03-25 16:48:30
382
原创 在SpringBoot项目中集成MongoDB
假设我们在做一个与自媒体相关的项目,项目引入了 MongoDB 存储与文章的评论数据。评论的上级评论ID,如果为’0’或空,则表示该评论是顶级评论,没有上级评论。评论的可见状态,'0’表示评论不可见,'1’表示评论可见。MongoDB文档的唯一标识符,作为主键使用。评论创建的时间,格式通常为ISO日期时间格式。发表评论的用户昵称,用于显示在评论列表中。评论下方的回复数量,反映评论的互动程度。文章的唯一标识符,用于关联评论和文章。发表评论的用户唯一标识符。
2026-03-24 23:20:49
371
原创 MySQL 函数
MySQL 函数是服务器端定义的程序,可以接收输入参数,进行处理后返回一个结果值。函数的主要特点是可以在 SQL 语句中直接调用,通常用于计算、数据转换或返回某种特定的结果。与存储过程不同,函数必须返回一个值,并且可以在 SQL 语句的SELECT列表、WHERE子句、ORDER BY子句等位置使用。
2026-03-18 03:22:47
229
原创 Go-Gin Web 框架完整教程
Go 语言(或称 Golang)是一个开源的编程语言,由 Google 开发。在开始使用 Gin 框架之前,我们需要先安装 Go 环境。无法连接到 Go 的默认代理服务器。Go 项目的工作效率很大程度上依赖于正确的环境变量配置。Go 模块是 Go 管理依赖的方式。首先,我们需要创建一个新的项目目录。一个好的项目结构能够提高代码的可维护性和可读性。Gin 是一个用 Go 语言编写的 Web 框架。这里 my-gin-app 是项目名称,你可以根据自己的需求修改。如果显示 Go 版本号,说明安装成功。
2026-03-18 00:58:18
265
原创 springboot与springcloud以及springcloudalibaba版本对照
由于 Spring Boot 2.4+ 和以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 2.4 为分界线,同时维护 2.2.x 和 2021.x 两个分支迭代。为了规避相关构建过程中的依赖冲突问题,我们建议可以通过 云原生应用脚手架 进行项目创建。2.0.4.RELEASE(停止维护,建议升级)1.5.1.RELEASE(停止维护,建议升级)
2026-03-17 16:01:54
315
原创 Spring Boot + Vue 全栈开发实战指南
随着互联网技术的发展,企业对于快速开发高质量Web应用的需求日益增长。Spring Boot以其轻量级、易配置、快速开发的特点,成为Java后端开发的首选框架。Vue.js以其响应式、组件化的特点,成为前端开发的热门选择。结合两者,我们可以构建出既高效又易维护的全栈应用。在这篇博客中,我们详细探讨了如何使用Spring Boot和Vue.js进行全栈开发项目。从后端的Spring Boot项目搭建、数据库集成、业务逻辑处理到前端的Vue.js项目初始化、组件开发、路由配置等方面都进行了深入的讲解。
2026-03-17 13:36:31
195
原创 Nginx权限问题详解及解决方案
在运行Nginx服务器时,权限问题是一个常见的困扰,尤其是在Linux环境下。权限配置不当可能导致Nginx无法启动、无法访问某些目录或文件,甚至影响到网站的正常运行。本文将深入探讨Nginx权限问题的原因,并提供有效的解决方案。Nginx在运行时,会以指定的用户身份执行。默认情况下,Nginx使用nginx用户(或www-data用户在某些系统中)运行。如果Nginx尝试访问的文件或目录的权限设置不正确,或者Nginx运行的用户没有足够的权限,就会出现权限问题。
2026-03-17 11:14:00
169
原创 mysql表添加索引
在 MySQL 中,可以使用 ALTER TABLE 语句来为表添加索引。索引可以提高查询性能。一个表只能有一个主键索引,用于唯一标识表中的每一行。如果表中没有定义主键,可以使用 ALTER TABLE 添加。希望本文对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言。用于对文本类型的列进行全文搜索。确保索引列的值是唯一的。
2026-03-17 05:13:41
180
原创 Linux下MySQL的简单使用
可以看到C语言已经有了很成熟的与MySQL交互的接口,并且大部分函数的使用是和MySQL版本不相关的,但实际在Ubuntu运行的时候还是需要注意MySQL的版本和包的问题,因为新版本的MySQL库修改了一些配置文件的位置和相关的依赖包。
2026-03-17 02:36:18
248
原创 报错The default superclass, “jakarta.servlet.http.HttpServlet“(已经配置好tomcat)
报错报错DescriptionResourcePathLocationType The default superclass,“jakarta.servlet.http.HttpServlet”, according to the project’s Dynamic Web Module facet version (5.0), was not found on the Java Build Path.解决办法:根据错误信息,“默认超类`jakarta.servlet.http.HttpServlet`根据
2026-03-15 13:15:08
322
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅